Ten artykuł przeprowadzi Cię przez kilka interesujących poleceń AWK i kiedy z nich korzystać. Czytaj dalej, aby się dowiedzieć! Wprowadzenie do AWK
AWK to popularny język w Unix i Linux. Dostał swoją nazwę od swoich autorów: Alfred Aho, Peter Weinberger i Brian Kerghan. Polecenie AWK umożliwia dostęp do języka programowania AWK, który jest zaprojektowany do przetwarzania danych w strumieniach tekstowych.
Popularnie używane do wzorców skanowania i uproszczenia złożonych operacji, AWK pomaga pisać skuteczne stwierdzenia do definiowania wzorców tekstu w pliku. Polecenie AWK następnie przetwarza te stwierdzenia, czytając jeden wiersz na raz i podejmuje działanie na podstawie podanego warunku.
Po prostu Put, AWK znajduje i zastępuje tekst, a pomaga sortować, sprawdzać, weryfikację lub indeksowanie podanych danych.
Cechy AWK
AWK ma wiele unikalnych funkcji:
- W AWK nie jest konieczna kompilacja
- Często używane do ekstrakcji danych
- Powszechnie używane do wykonywania manipulacji tekstem
- Pomaga generować wyniki w razie potrzeby.
Teraz zbadajmy moc poleceń AWK.
15 ciekawych poleceń AWK
Oto skompilowana lista kilku interesujących poleceń AWK:
- Drukowanie liczb losowych w zestawie - Załóżmy, że chcesz wydrukować kilka losowych liczb z wybranej puli. Możesz określić ilość losowych liczb z tej puli i poprosić AWK o wydrukowanie. Oto przykład: Wydrukujmy 10 liczb od 0 do 1000. Więc polecenie AWK to będzie następujące: awk 'początek for (i = 1; i <= 10; i++)
print int (1001 * rand ()) '
- Poszukiwanie FOO lub baru - Co jeśli chcesz napisać wiersz, w którym chcesz przeprowadzić proste wyszukiwanie FOO lub paska? Oto polecenie, które pozwoli ci to zrobić: if (/foo/||/bar/)
Znaleziono wydruku!"
- Przegrupowanie pola - Jeśli chcesz wydrukować określone pole w określonej kolejności, AWK może to zrobić dla Ciebie. Załóżmy, że chcesz wydrukować pierwsze 5 pól określonego zestawu w jednym polu na wiersz, możesz użyć następującego polecenia: AWK 'i = 1
podczas gdy ja <= 3)
Wydrukuj $ i
I++
'inputFile
- Podział linii - W dowolnym zestawie plików AWK może pomóc w podzieleniu linii na pola, gdzie x jest nazwą pola: $ awk 'print $ x, $ x' xyz.tekst
- Uruchamianie kilku poleceń jednocześnie - Aby uruchomić kilka poleceń jednocześnie, możesz użyć półkolonu, aby określić oba polecenia: $ echo „Dzień dobry! JACK "| AWK '$ 2 =" jill "; drukuj 0 $' '
- Wykonanie skryptu AWK - Jeśli chcesz wykonać skrypt AWK z określonego pliku, możesz utworzyć plik sum_column i wkleić poniższy skrypt w tym pliku: #!/usr/bin/awk -f
Rozpocznij sum = 0
sum = sum+$ x
End druk suma W powyższym skrypcie x jest równa kolumnie, którą musisz wprowadzić w pliku. Po pomyślnym zakończeniu tego zadania możesz użyć następującego polecenia, aby wyświetlić sumę kolumny x w pliku wejściowym:
awk -f sum_column input_file.
- Za pomocą -f - Podczas kodowania często nie można wydawać się niepraktyczne, aby odwołać się do terminala. AWK używa -f do wykonywania wyszukiwania z pliku: skrypt awk -f.AWK InputFile
- Wykonywanie funkcji matematycznych - Możesz także użyć AWK do prostych funkcji matematycznych: AWK 'sum = 2 USD + 3 USD + 4 USD; AVG = suma / 3
> Drukuj 1 $, AVG „oceny
- Witaj świat w Awk - Możesz wydrukować prosty świat Hello w AWK za pomocą następującego polecenia: Awk „Begin print” Hello World!!„”
Możesz także stworzyć program Hello World. Poniższy kod nie tylko wydrukuje wszechobecną wiadomość Hello, ale także wygeneruje informacje nagłówka:
$ awk 'start print "hello świat!„”
- Drukowanie całkowitej liczby bajtów - Możesz znaleźć całkowitą bajty używane przez pliki za pomocą następującego polecenia: LS -L . |. awk 'x += 5 $; KONIEC \
drukuj „Total bajtes:„ x ”
Łączne bajty: 7449362
- Anonmizowanie dziennika Apache - Możesz użyć następującego kodu do anonimizacji dziennika Apache: Cat Apache-Anon-Noadmin.Log | \
Awk 'funkcja ri (n) \
return int (n*rand ()); \
Początek srand (); Jeśli (! \
(5 USD w Jack)) \
Jack [5 $] = sprintf ("%d.%D.%D.%D", \
RI (255), RI (255) \
, RI (255), RI (255)); \
5 USD = Jack [5 USD]; wydrukuj __G5_Token5B610BA53DBE4 ''
- Działanie w rzędach - Jeśli masz adres, który chciałbyś sortować w wierszach, możesz to zrobić za pomocą następującego polecenia: begin rs = ""; Fs = "\ n"
Wydrukuj „Nazwa to:”, 1 USD
Wydrukuj „Adres to:”, 2 USD
Wydrukuj „City and State Are:”, 3 USD
wydrukować „”
- Korzystanie z pętli When - Pętla, w którym wykonuje działanie podane jej w powtarzanym procesie, dopóki warunek będzie prawdziwy. Na przykład, aby drukować liczby od 1 do 100, możesz użyć następującego kodu: AWK 'start i = 1; podczas gdy ja < 100) print i; ++i '
- Korzystanie z pętli do zrobienia - W tej pętli warunek jest wykonywany na końcu pętli, nawet jeśli instrukcja jest fałszywa. Na przykład, aby wydrukować liczby od 1 do 100 za pomocą pętli do-podczas gdy można użyć następującego kodu: AWK 'start i = 1; do print i; ++ i while (i < 100) '
- Używając początku i końca - Słowo kluczowe początkowego służy do utworzenia nagłówka do przetwarzania rekordu: $ awk 'start print "xxx"
W ten sam sposób słowo kluczowe końcowe jest używane po przetworzeniu danych:
End drukuj „stopę pliku” '
To kończy listę 15 interesujących poleceń AWK. Możesz je wypróbować i zobaczyć wyniki. Mam nadzieję, że uznasz to za przydatne. Jeśli uznałeś ten artykuł za interesujący, możesz zbadać mastering scenariuszy Linux Shell - druga edycja. W tej książce odkryjesz wszystko, co musisz wiedzieć, aby opanować scenariusze skorupy i dokonać świadomych wyborów dotyczących zastosowanych elementów.