alphasec
Bash / Unix protip 0080
in 𝕏

while read -r line; do echo "Linia: $line"; done - jeden ze sposobów czytania linijka po linijce z pliku

tty1 · bash
$ while read -r line; do echo "Linia: $line"; done < dict.txt
#Unix#Bash#ProzaŻycia

W codziennej pracy w bashu nie raz trzeba przetwarzać pliki linijka po linijce, powyżej jeden ze sposobów na dokonanie tego. Polecenie read jest wbudowane w powłokę bash. Opcjonalny parametr -r powoduje, że backslash w odczytywanej linijce jest traktowany jak każdy inny znak (a nie jako tzw. escape character).

Oczywiście, są inne metody, żeby dokonać tego samego. Dość podobną konstrukcją jest:

cat dict.txt | while read -r line; do echo "Linia: $line"; done

i chociaż wynik jest taki sam w naszym przypadku, jest tutaj subtelna różnica. Dla dociekliwych, zachęcam do zbadania tematu.

Przydatne linki

www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#index-read sekcja read w manualu basha web ↗
← poprzedni protip 007f ••• Wszystkie protipy następny → protip 0081
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: