7.12. Odwrócenie kolejności słów w każdym wierszu

Problem

Chcemy wyświetlić wyrazy wiersza wejściowego w odwrotnej kolejności.

Rozwiązanie

$ awk '{
>       for (i=NF; i>0; i--) {
>            printf "%s ", $i;
>       }
>       printf "\n"
> }'

Oczywiście, znaków > nie należy wprowadzać, są one wyświetlane przez powłokę w celu poinformowania użytkownika o tym, że polecenie nie zostało zakończone (interpreter oczekuje na wprowadzenie kończącego znaku apostrofu). Kod programu awk jest otoczony znakami apostrofu, więc powłoka umożliwia zdefiniowanie kilku wierszy instrukcji, rozpoczynając każdą od znaku >, aż do chwili wprowadzenia zamykającego znaku apostrofu. W celu zwiększenia czytelności kodu został on zapisany w kilku wierszach, choć można go również wprowadzić w następujący ...

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.