[BASH] Wyszukiwanie części tekstu z pliku


(Edzio9118) #1

Witam.

Mam takie polecenie:

ac --individual-totals --file $plik | sort -n -t ' ' -k 2 -r | head -n $((liczba+1)) | tail -n $liczba

otrzymuję dzięki temu $liczba użytkowników z największym czasem zalogowania odrzucając total.

Teraz potrzebuję z pliku /etc/passwd wyciągnąć informację o imieniu i nazwisku tych użytkowników. Próbowałem połączyć awk i grep ale nic się wtedy nie wyświetlało.

Czy podpowiecie jak to można zrobić?


(etam) #2
grep etam /etc/passwd | cut -d: -f 5

Coś takiego?


(Edzio9118) #3

Wiem, ze tak się da wyszukać, chodzi mi o to, jak na podstawie zmiennej $1 z wyniku działania AWK wyszukać tą osobę. Jak zauważysz, ac wywala mi czas zalogowania poszczególnych osób w formacie:

login czas_zalogowania

Pozostałe komendy nie są ważne, ucinają mi tylko niechciane wyniki.

Teraz chcę, aby na podstawie login wyszukać w pliku /etc/passwd i wyświetlić w postaci:

login czas_zalogowania imie-nazwisko

Gdy grepuję cały wynik, to wiadomo, nic mi nie wyświetli.

Zrobiłem tak:

komendy_z_pierwszego_postu | grep -F ' ' $1 /etc/passwd | cut -d: -f5

ale tracę w ten sposób login i czas zalogowania.