konto usunięte

Temat: sortowanie listy plików wg określonej kolumny

Pytanie wydaje się być stricte akademickie ;)

Załóżmy, że mamy plik /etc/passwd
Jak posortować linie pliku wg UID użytkowników (3 kolumny)?
cat /etc/passwd | cut -d: -f 3 | sort
niestety wyświetli same UID

konto usunięte

Temat: sortowanie listy plików wg określonej kolumny

$ sort -t ":" -k 3 /etc/passwd | egrep -v "^#"

nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false
root:*:0:0:System Administrator:/var/root:/bin/sh
daemon:*:1:1:System Services:/var/root:/usr/bin/false
_lp:*:26:26:Printing Services:/var/spool/cups:/usr/bin/false
_postfix:*:27:27:Postfix Mail Server:/var/spool/postfix:/usr/bin/false
...
...
...
_update_sharing:*:95:-2:Update Sharing:/var/empty:/usr/bin/false
_installer:*:96:-2:Installer:/var/empty:/usr/bin/false
_atsserver:*:97:97:ATS Server:/var/empty:/usr/bin/false
_unknown:*:99:99:Unknown User:/var/empty:/usr/bin/false

konto usunięte

Temat: sortowanie listy plików wg określonej kolumny

Łukasz Bandzarewicz:
Załóżmy, że mamy plik /etc/passwd
Jak posortować linie pliku wg UID użytkowników (3 kolumny)?
cat /etc/passwd | cut -d: -f 3 | sort

Wystarczy na czas sortowania podstawic UID jako pierwszą :)

awk 'BEGIN { FS=":" } { printf("%s:%s:%s:%s:%s:%s:%s\n",$3,$2,$1,$4,$5,$6,$7); }' /etc/passwd | sort -n | awk 'BEGIN { FS=":" } { printf("%s:%s:%s:%s:%s:%s:%s\n",$3,$2,$1,$4,$5,$6,$7); }'

konto usunięte

Temat: sortowanie listy plików wg określonej kolumny

Kamil Grabowski:
$ sort -t ":" -k 3 /etc/passwd | egrep -v "^#"

-n jeszcze

Bądź co bądź to liczba.

konto usunięte

Temat: sortowanie listy plików wg określonej kolumny

Racja, dzięki za poprawienie :)

Następna dyskusja:

filtrowanie listy plików




Wyślij zaproszenie do