Wszystko od początku serii Awk aż do Części 12, pisaliśmy małe komendy i programy Awk odpowiednio w linii poleceń i w skryptach powłoki.

Jednakże Awk, tak samo jak Shell, jest również językiem interpretowanym, dlatego też, dzięki wszystkiemu co przeszliśmy od początku tej serii, możesz teraz pisać wykonywalne skrypty Awk.

Podobnie do tego, jak piszemy skrypt powłoki, skrypty Awk zaczynają się od linii:

#! /path/to/awk/utility -f 

Na przykład w moim systemie narzędzie Awk znajduje się w /usr/bin/awk, dlatego skrypt Awk uruchomiłbym w następujący sposób:

#! /usr/bin/awk -f 

Wyjaśniając powyższą linię:

  1. #! – określany jako Shebang, który określa interpreter dla instrukcji w skrypcie
  2. /usr/bin/awk – jest interpreterem
  3. -f – opcja interpretera, używana do odczytu pliku programu

To powiedziawszy, zanurzmy się teraz w oglądaniu przykładów skryptów wykonywalnych Awk, możemy zacząć od prostego skryptu poniżej. Użyj swojego ulubionego edytora aby otworzyć nowy plik w następujący sposób:

$ vi script.awk

I wklej poniższy kod do pliku:

Zapisz plik i wyjdź, następnie uczyń skrypt wykonywalnym wydając poniższe polecenie:

$ chmod +x script.awk

Następnie uruchom go:

$ ./script.awk
Przykładowe dane wyjściowe
Writing my first Awk executable script!

Krytyczny programista pewnie pyta: „gdzie są komentarze?”, tak, możesz również umieścić komentarze w swoim skrypcie Awk. Pisanie komentarzy w twoim kodzie jest zawsze dobrą praktyką programistyczną.

Pomaga to innym programistom przeglądającym twój kod zrozumieć, co próbujesz osiągnąć w każdej sekcji skryptu lub pliku programu.

Więc, możesz zawrzeć komentarze w powyższym skrypcie w następujący sposób.

#!/usr/bin/awk -f #This is how to write a comment in Awk#using the BEGIN special pattern to print a sentence BEGIN { printf "%s\n","Writing my first Awk executable script!" }

Następnie przyjrzymy się przykładowi, w którym odczytujemy dane wejściowe z pliku. Chcemy wyszukać użytkownika systemowego o nazwie aaronkilik w pliku konta, /etc/passwd, a następnie wypisać nazwę użytkownika, ID użytkownika i GID użytkownika w następujący sposób:

Poniżej znajduje się zawartość naszego skryptu o nazwie second.awk.

#! /usr/bin/awk -f #use BEGIN sepecial character to set FS built-in variableBEGIN { FS=":" }#search for username: aaronkilik and print account details /aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }

Zapisz plik i wyjdź, uczyń skrypt wykonywalnym i wykonaj go jak poniżej:

$ chmod +x second.awk$ ./second.awk /etc/passwd
Przykładowe wyjście
Username : aaronkilik User ID : 1000 User GID : 1000

W ostatnim przykładzie poniżej użyjemy instrukcji do while do wypisania liczb od 0-10:

Poniżej znajduje się treść naszego skryptu o nazwie do.awk.

#! /usr/bin/awk -f #printing from 0-10 using a do while statement #do while statement BEGIN {#initialize a counterx=0do { print x; x+=1;}while(x<=10)}

Po zapisaniu pliku, uczyń skrypt wykonywalnym, tak jak zrobiliśmy to wcześniej. Następnie uruchom go:

$ chmod +x do.awk$ ./do.awk
Przykładowe wyjście
012345678910

Podsumowanie

Dobiegliśmy do końca tej interesującej serii Awk, mam nadzieję, że nauczyłeś się wiele ze wszystkich 13 części, jako wprowadzenie do języka programowania Awk.

Jak wspomniałem na początku, Awk jest kompletnym językiem do przetwarzania tekstu, z tego powodu możesz poznać więcej innych aspektów języka programowania Awk, takich jak zmienne środowiskowe, tablice, funkcje (wbudowane & zdefiniowane przez użytkownika) i nie tylko.

Jest jeszcze kilka dodatkowych części programowania Awk do nauczenia się i opanowania, więc poniżej podałem kilka linków do ważnych zasobów online, które możesz wykorzystać do rozszerzenia swoich umiejętności programowania Awk, to niekoniecznie wszystko czego potrzebujesz, możesz również poszukać przydatnych książek o programowaniu Awk.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *