AWK - zaawansowane funkcje
- 4083
- 274
- Laura Zygmunt
AWK to potężne narzędzie do przetwarzania tekstu i manipulacji, które zapewnia szereg zaawansowanych funkcji dla doświadczonych użytkowników. Niektóre z najbardziej przydatnych zaawansowanych funkcji AWK obejmują wyrażenia regularne, instrukcje warunkowe, tablice, funkcje i funkcje manipulacji ciągami. Dzięki tym funkcjom AWK zapewnia potężny i elastyczny zestaw narzędzi, który może być używany do szerokiej gamy zadań, w tym analiza plików dziennika, monitorowanie systemu, ekstrakcja i transformacja danych oraz generowanie raportów.
W tym artykule zbadamy jedne z najbardziej przydatnych i potężnych funkcji AWK dla zaawansowanych użytkowników. Ten samouczek obejmuje:
- Korzystanie z wyrażeń regularnych w AWK
- Korzystanie z instrukcji warunkowych
- Praca z tablicami w AWK
- Praca z funkcjami w AWK
- Manipulacja strumieniem za pomocą AWK
Zacznijmy artykuł:
Wyrażenia regularne
Jedną z najpotężniejszych cech AWK jest wsparcie dla wyrażeń regularnych. Wyrażenia regularne to wzorce opisujące zestawy ciągów i mogą być używane do dopasowywania, wyszukiwania i manipulowania danymi tekstowymi.
Na przykład następujące polecenie wydrukuje wszystkie wiersze zawierające słowo „błąd” w pliku dziennika:
AWK '/ERROUL/' LOGFILE.tekst1 | AWK '/ERROUL/' LOGFILE.tekst |
To polecenie użyje AWK do wyszukiwania pliku dziennika dla linii zawierających słowo „błąd” i wydrukować te wiersze na konsoli.
Instrukcje warunkowe
AWK obsługuje instrukcje warunkowe, które pozwalają wykonywać różne polecenia na podstawie wartości zmiennych lub wyrażeń.
Na przykład następujące polecenie wydrukuje „nawet” lub „dziwne” dla każdego numeru w pliku, w zależności od tego, czy jest to równe, czy dziwne:
awk 'if (1 % 2 == 0) wydrukuj 1 $, „nawet”; w przeciwnym razie wydrukuj 1 $, liczby „dziwne”.tekst1 | awk 'if (1 % 2 == 0) wydrukuj 1 $, „nawet”; w przeciwnym razie wydrukuj 1 $, liczby „dziwne”.tekst |
To polecenie użyje AWK, aby sprawdzić, czy każdy numer w pliku jest równy, czy dziwny, i wydrukować wynik na konsoli.
Tablice
AWK obsługuje również tablice, które pozwalają przechowywać i manipulować zestawami wartości lub struktur danych.
Na przykład następujące polecenie policzy liczbę wystąpień każdego słowa w pliku tekstowym:
awk 'for (i = 1; i<=NF; i++) words[$i]++ END for (w in words) print w, words[w] ' textfile.txt1 | awk 'for (i = 1; i<=NF; i++) words[$i]++ END for (w in words) print w, words[w] ' textfile.txt |
To polecenie użyje AWK do zapętlania każdego słowa w pliku i przechowywania liczby każdego słowa w tablicy. Ostateczny wynik jest wydrukowany na konsoli.
Funkcje
AWK obsługuje funkcje zdefiniowane przez użytkownika, które pozwalają utworzyć kod wielokrotnego użytku dla wspólnych zadań.
Na przykład następujące polecenie użyje funkcji zdefiniowanej przez użytkownika do konwersji temperatur Fahrenheita na Celsjusza:
AWK 'funkcja f2c (f) return (f-32)*(5/9) print $ 1, f2c (2 $) „.tekst1 | AWK 'funkcja f2c (f) return (f-32)*(5/9) print $ 1, f2c (2 $) „.tekst |
To polecenie użyje AWK do czytania temperatur w Fahrenheita z pliku i konwersji na Celsjusza za pomocą funkcji zdefiniowanej przez użytkownika.
Manipulacja struny
AWK obsługuje zakres funkcji manipulacji ciągami, które pozwalają modyfikować, łączyć i podzielić.
Na przykład następujące polecenie podzieli listę wartości oddzieloną przecinkami na oddzielne pola:
AWK -f ', „Drukuj 1 $, 2 $”.CSV1 | AWK -F ',' 'Drukuj 1 $, 2 $ „.CSV |
To polecenie użyje AWK do podziału pliku oddzielonego przecinkiem na osobne pola i wydrukować dwa pierwsze pola na konsolę.
Wniosek
AWK zapewnia szereg zaawansowanych funkcji dla doświadczonych użytkowników, w tym wyrażenia regularne, instrukcje warunkowe, tablice, funkcje i manipulacje ciągami. Opanowując te funkcje, możesz stać się bardziej wydajnym i skutecznym ekspertem w zakresie przetwarzania i manipulacji tekstowymi oraz oszczędzać czas i wysiłek w pracy.
- « Lista kontrolna konserwacji serwera
- Najlepsze praktyki i wskazówki dotyczące pisania skontleur jako pro »