AWK - Google

AWK

Z Wikipedii

Skocz do: nawigacji, szukaj

AWK jest interpretowanym językiem programowania, którego główną funkcją jest wyszukiwanie i przetwarzanie wzorców. Jest także nazwą programu początkowo dostępnego dla systemów operacyjnych będących pochodnymi UNIX-a, obecnie także na inne platformy. Nazwa języka pochodzi od pierwszych liter nazwisk jego autorów Alfreda V. Aho, Petera Weinbergera i Briana Kernighana i czasami jest zapisywana małymi literami oraz odczytywana jako jedno słowo awk.

Definicja języka AWK jest zawarta w POSIX 1003.2 Command Language And Utilities Standard. Wersja ta jest z kolei oparta na opisie z The AWK Programming Language, napisanym przez Aho, Weinbergera i Kernighana, z dodatkowymi właściwościami, zdefiniowanymi w wersji awk z SysVR4.

W wierszu poleceń podaje się opcje dla awk, tekst programu (jeśli nie podano go poprzez opcję -f lub --file) i wartości, które mają być udostępnione w predefiniowanych zmiennych ARGC i ARGV.

[edytuj] Wywołanie programu AWK

Program AWK składa się z sekwencji instrukcji wzorzec-akcja oraz opcjonalnych definicji funkcji.

wzorzec { instrukcje akcji }
funkcja nazwa(lista parametrów) { instrukcje }

Tekst programu czytany jest tak, jakby wszystkie pliki programu zostały połączone ze sobą w całość, przy czym pierwszeństwo mają pliki podane jako argumenty polecenia. Przydaje się to do budowania bibliotek funkcji AWK, bez konieczności włączania ich do każdego nowego programu AWK, który z nich korzysta. Umożliwia to również łączenie funkcji bibliotecznych z programami z wiersza poleceń. Zmienna środowiskowa AWKPATH określa ścieżkę przeszukiwania, używaną do znajdowania plików źródłowych podanych w opcji -f. Jeśli zmienna ta nie istnieje, domyślną ścieżką staje się ".:/usr/local/share/awk". (Faktyczny katalog może być różny, zależnie od tego jak skompilowano i zainstalowano awk). Jeśli nazwa pliku, podana opcji -f zawiera znak "/", nie jest dokonywane żadne przeszukiwanie ścieżki.

Program AWK wykonywany jest w następującej kolejności. Najpierw inicjalizowane są zmienne, podane w opcjach -v. Następnie program kompilowany jest do postaci wewnętrznej. Potem wywoływany jest kod, zawarty w blokach BEGIN (jeśli istnieją), a następnie odczytywane są pliki, podane w tablicy ARGV. Jeśli nie podano takich nazw plików, awk odczytuje standardowe wejście.

Jeśli nazwa pliku w wierszu poleceń ma postać var=val, to jest traktowana jako inicjalizacja zmiennej. Zmienna var uzyska wartość val (dzieje się to po uruchomieniu każdego bloku BEGIN). Ten sposób inicjalizowania zmiennych najbardziej przydaje się do dynamicznego nadawania wartości zmiennym, których AWK używa do określania sposobu, w jaki wejście rozbijane jest na pola i rekordy. Jest też użyteczny do kontroli stanu, jeśli zachodzi potrzeba wielokrotnego czytania danego pliku danych. Jeśli wartość konkretnego elementu ARGV jest pusta (""), to awk ją pomija.

Dla każdego rekordu wejścia awk dokonuje porównania, sprawdzając czy odpowiada on jakiemuś wzorcowi z programu AWK. Jeśli wzorzec będzie odpowiadał rekordowi, zostanie wykonana związana z nim akcja. Wzorce są sprawdzane w kolejności ich pojawienia się w programie. Na koniec, gdy wyczerpane zostanie całe wejście, awk wywołuje kod zawarty w bloku END.

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne


Zwierzęta "ostrzegały" przed trzęsieniem w Chinach
Najpierw w niewytłumaczalny sposób spadał poziom wody w stawie i na ulice wyległy tysiące ropuch. Na kilka godzin przed trzęsieniem ziemi zwierzęta w zoo zachowywały się dziwnie.
Nanokable w kształcie drzewa
Nanokable utworzone z siarki oraz chlorku ołowiu samoczynnie przybierają trójwymiarową formę, która do złudzenia przypomina drzewa iglaste (np. znane wszystkim sosny).
Książe Karol apeluje o nie wycinanie lasów
Następca brytyjskiego tronu książę Karol zaapelował, by nie wycinać lasów tropikalnych. Książę Karol podkreślił, że to najlepszy sposób walki ze zmianami klimatu.
Bioróżnorodność świata obniżyła się o jedną trzecią
Bioróżnorodność na świecie obniżyła się prawie o jedną trzecią w ciągu ostatnich 35 lat, głównie z powodu kurczenia się środowiska naturalnego oraz handlu dzikimi zwierzętami.
USA będą chronić białe niedźwiedzie
Rząd USA ogłosił decyzję o objęciu ochroną białych niedźwiedzi w Arktyce, jako gatunku zagrożonego wymarciem ze względu na postępujące ocieplenie klimatu.
Linki: Strona g³ówna