Kommandon 4

Här vill jag att ni sparar era svar i en textfil som ni noga håller koll på, jag kommer att vilja se vilka kommandon ni har använt.

I många unix-system så finns en fil som håller ordning på alla användare (/etc/passwd).

  1. Username: Används när man loggar in. 1-32 tecken långt.
  2. Password: Ett x visar att det är krypterat och lagras i filen /etc/shadow.
  3. User ID (UID): Varje användare har ett eget id. Det är detta som är unikt för just denna användare. Id 0 (noll) är reserverat för root.
  4. Group ID (GID): Grupp id för användares standradgrupp, man kan tillhöra flera grupper, den informationen lagras i filen /etc/group.
  5. User ID Info (commet): Extra information om användaren som tex namn mm…
  6. Home directory: Den absoluta sökvägen till användarens hemkatalog. Om denna inte finns får man “/” som hemkatalog.
  7. Command/shell: Den absoluta sökvägen till sitt skal (shell ex. /bin/bash). Måste inte vara ett skal, skulle kunna vara /bin/false då kan man inte logga in.

1. Klipp ut alla login ur filen passwd
2. Ordna alla login i tre kolumner med hjälp av paste.
3. Klipp ut login på alla elever som går ut 2020, gör 3 kolumner separerade med “,” och spara resultatet i en fil som heter te20_elever

student ~ :cat te20_elever
ee2753,ae0042,af0018
jg0017,jj0020,vm8563
dn0007,wn0001,ro0002
lp0001,js0015,ss0032
vs0014,jv0016,av0018
fo0003

4. Operatörsuppgift
Om man skall jobba som operatör kommer man ganska ofta råka ut för att man måste göra om filer. Er uppgift är att göra om en fil på formatet infil.txt till formatet resultat.txt. Ni hittar både infil.txt och resultat.txt på min användare.

infil.txt:
"te03-70","0;\te\te03\te03-70;PSERVER_USEROLD.Park.Parkskolan"
"te03-71","0;\te\te03\te03-71;PSERVER_USEROLD.Park.Parkskolan"
"te03-72","0;\te\te03\te03-72;PSERVER_USEROLD.Park.Parkskolan"
"te03-73","0;\te\te03\te03-73;PSERVER_USEROLD.Park.Parkskolan"
...

resultat.txt
"te03-70";"PSERVER_USER:\te\te03\te03-70"
"te03-71";"PSERVER_USER:\te\te03\te03-71"
"te03-72";"PSERVER_USER:\te\te03\te03-72"
"te03-73";"PSERVER_USER:\te\te03\te03-73"
...

Det finns en fil som heter elevregister.txt. Du skall använda denna fil för att svara på följande frågor:
5. Hur många bor på en adress där gatan heter något med vägen och ligger i Umeå.
6. Skapa en fil som ser ut på följande sätt:

förnamn efternamn;postadress

på de som inte bor i UMEÅ, filen skall vara sorterad på postadress.
7. Det har blivit något fel i filen elevregister.txt ett antal rader har blivit dubletter, skapa en fil som ser ut på följande sätt:

personnummer förnamn efternamn

som endast innehåller dessa dubletter. Hur många dubletter fanns det?
8. Ta bort alla dubletter.
9. Plocka ut personnumren ur filen elevregister.txt och skapa en ny fil som bara innehåller personnumren i 4 kolumner separerade med semikolon. ex.

121212-1212;590312-0052;361205-0074;760320-0028
760309-0023;620312-0024;560312-0030;761014-0027

Det finns en fil som heter “birdlist”, ni skall lösa följande problem med hjälp av denna fil.
Förklaring till filen:

UserID;Login;Datum och tid för kryss;Tomtkryss(1=sedd från tomt,0=sedd på annan plats);Fågel;Fågelordning systematik

10. Lista alla observerade fåglar, en fågel per rad sorterat alfabetiskt.
11. Lista alla observerade fåglar, en fågel per rad sorterat enligt fågelordning.
12. Hur många olika fågelarter finns det i listan?

student ~ :'dina kommandon'
345

13. Visa de arter som användaren med login JF har sett.
14. Hur många arter har användaren med login JF sett? (209)
15. Visa de arter som användaren med login JF har sett från sin tomt.
16. Hur många arter har användaren med login JF sett från sin tomt? (86)
17. Gör en lista där du visar login och hur många olika arter användarna har sett sorterat på den som har flest arter högst upp.

freetux Public/operativsystem>'dina kommandon...'
    322 ANNA
    303 PEETER
    278 JÖRGEN
    256 LIAM
    224 SCHUTZER
    221 JOHANNA
    209 JF
    206 HELEN
    194 HASSE
    193 ANITA
    175 FRITZ
    170 UFO
    157 TONY
    154 GUNN
    152 MARGARETA
    151 EDVIN
    132 AKE
    131 KRISTINA
    123 NINA
    122 BÄCKSTRÖMS JR
    109 MIKAEL ÖDMARK
    102 AUGUST
     95 KOJ
     94 MARTIN
     77 LFAN
     71 JULIA
     63 ÅSA
     63 FELIX
     59 OSKAR
     58 AJ
     57 ROGER
     52 ANETTE
     39 MATTISG
     31 JONAS
     27 ELSA
      5 JESSICA
cut, paste, uniq

Exempel på hur man kan lösa några av uppgifterna

2. cut -f 1 -d : /etc/passwd | paste -s -d "  \n"
6. cut -d ';' -f 2,3,5 elevregister.txt | sed 's/;/ /'
7. (vissar alla dubbletter). 
cut -d ';' -f 1,2,3 elevregister.txt | sed 's/;/ /g' | sort | uniq -D
7. (visar hur många namn som det fanns minst en dubblett av)
cut -d ';' -f 1,2,3 elevregister.txt | sed 's/;/ /g' | sort | uniq -D | uniq | wc -l
10. cut -f 5 -d ';' birdlist | sort -u
12. cut -d ';' -f 5 birdlist | sort | uniq | wc -l 
13. grep JF birdlist | cut -f 5 -d ';' | sort -u 
16. grep JF birdlist | cut -f 4,5 -d ';' | grep 1 | sort -u | wc -l
17. cut -f 2,5 -d ';' birdlist | sort -u | cut -f 1 -d ';' | uniq -c | sort -nr