Awk jest bardzo popularnym narzędziem do przetwarzania tekstu. Awk udostępnia różne funkcje i struktury, takie jak języki programowania. if - if else
jest bardzo przydatną instrukcją warunkową używaną do tworzenia drzew decyzyjnych. if - if else
służy do sprawdzania danej sytuacji lub operacji i uruchamiania odpowiednio. Na przykład, możemy sprawdzić wiek osoby i działać odpowiednio, jeśli powyżej 60 lub poniżej 60.
przykładowe dane
podczas nauki instrukcji awk if – if else użyjemy następującego pliku.
ismail 33 maleahmet 5 maleelif 8 female
Instrukcja Awk If
składnia instrukcji Awk if jest taka jak poniżej. Sprawdzimy warunek i jeśli warunek jest spełniony lub true wykonamy część kodu. Jeśli nie, po prostu pomijamy blok kodu if.
if (CONDITION){ CODE}
w tym przykładzie poszukamy nazwiska ismail
, a następnie wydrukujemy jego wiek.
{ if( =="ismail") { print ; print } }
zapiszemy skrypt awk jako if-program
i wywołamy z parametrem awk -f
, jak poniżej.
$ awk -f if-program data.txt
lub możemy dostarczyć skrypt z bash jak poniżej.
Instrukcja Awk Else If
co się stanie, jeśli mamy więcej niż jeden warunek do sprawdzenia i wykonania skryptu. Możemy użyć else if
dla sytuacji wielostanowiskowych. Składnia else if
jest jak poniżej.
if (CONDITION) { CODE }else if (CONDITION) { CODE}...
możemy użyć więcej niż if else
w zależności od naszych potrzeb. W tym przykładzie wymienimy osoby z dwoma różnymi warunkami, takimi jak powyżej 18 i poniżej 18.
{ if( > 17) { print " is adult" } else if( < 18) { print " is infant" } }
kiedy uruchamiamy ten kod, jak poniżej.
$ awk -f else-if-program data.txt
Instrukcja Awk Else
podczas używania instrukcji warunkowych if-else może być konieczne określenie warunku domyślnego, który będzie spełniał, jeśli żaden z pozostałych warunków nie jest spełniony. Możemy to zrobić jeszcze raz i umieścić na końcu bloku if-else if. Składnia wygląda jak poniżej
if (CONDITION) { CODE }else if (CONDITION) { CODE }...else{ CODE}
w tym przykładzie sprawdzimy płeć i podany rekord nie jest męski wydrukujemy wiadomość. W tym przykładzie nie dodajemy else-if, ponieważ nie potrzebujemy, ale w razie potrzeby można je dodać bez problemu.
{ if( == "male") { print " is male" } else { print " not male" } }
zapisujemy ten skrypt jako else-program
i uruchamiamy jak poniżej.
$ awk -f else-program data.txt