Archiwum kategorii: Awk

Awk – język do zadań tekstowych

Usunięcie powtórzeń z z listy

Jeżeli mamy posortowaną listę (lub chcemy ją posortować) w jakimś pliku (albo przekażemy ją ze strumienia) możemy w łatwy sposób pozbyć się powtórzeń:

cat przenosiny3.txt | awk 'BEGIN { tmp=""} {if (tmp != $0) print $0; tmp=$0}' > przenosiny4.txt

Opis skryptu: Skrypt jest prosty, tworzymy na początku zmienną tmp która jest pusta. Przy analizie każdego wiersza sprawdzamy, czy zmienna tmp nie jest równa wartości $1, jeżeli nie jest równa, wyświetla ją. Analizę każdego wiersza kończy podstawienie do zmiennej tmp wartości bierzącego wiersza.