17.20. Dodawanie prefiksu lub sufiksu do danych wynikowych
Problem
Chcemy dodać prefiks lub sufiks do każdego wiersza danych wynikowych polecenia. Jako przykład możemy rozważyć sytuację, w której gromadzimy statystyki logowania (last
) z wielu komputerów i chcemy ułatwić sobie procedurę wyszukiwania odpowiednich pozycji za pomocą polecenia grep
przez dodanie do każdego wpisu informacji o nazwie jednostki.
Rozwiązanie
Należy przekazać dane do pętli while read
i polecenia printf
. Poniższe instrukcje powodują wyświetlenie nazwy jednostki ($HOSTNAME
), za którą występuje znak tabulatora oraz niepusty wiersz listingu wynikowego instrukcji last
.
$ last | while read i; do [[ -n "$i" ]] && printf "%b" "$HOSTNAME\t$i\n"; done # Zapis nowego pliku dziennika $ ...
Get Bash. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.