Użytkownicy Uniksa mogą mieć swoje prawdziwe nazwiska wymienione w /etc/passwd/
. The finger
polecenie może wyświetlać prawdziwe nazwy. Mogą ls -l
pokaż te prawdziwe nazwy właścicieli plików obok plików?
Jeśli ls
nie można tego zrobić bezpośrednio, to jaki jest najlepszy sposób na potokowanie danych wyjściowych ls -l
przez finger
aby osiągnąć ten wynik? Brzmi jak praca awk
- posługiwać się ls -l | finger
jako tabela przeglądowa do zastąpienia trzeciej kolumny ls -l
.
(Podobne pytanie w przypadku, gdy nie ma prawdziwych nazw finger
ale w tabeli przeglądowej: Wymiana tekstu w tabeli wyszukiwania w bashu )
finger
(I może ls
może uzyskać dostęp do tych informacji). W drugim pytaniu prawdziwe nazwy znajdują się w pliku, ale nie w finger
.
ls
? Nie powinieneś tego próbować: ls -l | awk 'BEGIN{lc=0; while((getline line<"/etc/passwd") >0){split(line,p,":"); map[p[1]]=p[5]; lc++}} {$3=map[$3]}1'
Zakładam, że trzecia kolumna twojego ls -l
polecenie zawiera użytkownika.