Możemy rozważyć AWK ulepszenie w stosunku do SED, ponieważ oferuje więcej funkcji, w tym tablice, zmienne, pętle i stare, dobre, regularne wyrażenia.
W tym samouczku szybko omówimy, w jaki sposób możesz użyć wielu ograniczeń w poleceniu AWK. Zanim przejdziemy, pamiętaj, że ten samouczek nie jest przewodnikiem dla początkujących AWK.
Zapoznaj się z następującym zasobem, jeśli potrzebujesz przewodnika dla początkujących po AWK.
https: // linuxhint.com/użyj_awk_linux/
Co to są ograniczniki?
Jestem pewien, że skoro poświęcasz czas na przeczytanie tego artykułu, znasz koncepcję ograniczników. Ale podsumowanie nie boli, więc zróbmy to teraz:
Krótko mówiąc, ograniczniki są sekwencją znaków używanych do oddzielenia wartości tekstu łańcucha. Istnieją różne popularne typy ograniczników, które obejmują:
Nazwa | Symbol |
---|---|
Przecinek | , |
Okrężnica | : |
Średnik | ; |
Okres | . |
Rura | | |
Ukośnik wsteczny | \ |
Ciąć | / |
Nawias | () |
Nawiasy klamrowe | |
Nawiasy kwadratowe | [] [] |
Przestrzeń |
Separator pola Regex AWK
Separator pola AWK (FS) służy do określenia i kontrolowania, w jaki sposób AWK dzieli rekord na różne pola. Może również zaakceptować pojedynczy charakter wyrażenia regularnego. Po określeniu wyrażenia regularnego jako wartości FS, AWK skanuje wartości wejściowe dla sekwencji znaków ustawionych w wyrażeniu regularnym.
Zamierzamy zaimplementować funkcjonalność AWK, aby zaakceptować wartości wyrażenia regularnego w separatorze pola, aby podłączyć wiele ograniczeń.
Użyj wielu ograniczeń
Aby zilustrować, jak się rozdzielić za pomocą wielu ograniczeń w AWK, użyję prostego przykładu, aby pokazać, jak korzystać z tej funkcji.
Załóżmy, że masz plik z danymi w następujący sposób:
/org/gnone/komputer/interfejs: ustanowiony: kwietnia 16 16.59.09 | org.gnom.Terminal.Desiktop [1099]
Z powyższego pliku chcemy uzyskać dane wyjściowe podobne do tego pokazanego poniżej:
org/gnome/komputer/interfejs ustanowiony 17 kwietnia 16:59.09 Org.gnom.Terminal.Desiktop [1099]
Aby oddzielić plik za pomocą różnych ograniczeń w tym przypadku, okrężnica, przestrzeń i rura-może użyć polecenia, jak pokazano poniżej:
awk -f '[: |]' 'drukuj 1 $, 2 $, 3 $, 4 $, 5 $, 6 użytkownik.dziennik
Powyższe polecenie przedstawia informacje, jak pokazano poniżej:
Jak widać, możesz połączyć więcej niż jeden ogranicznik w separatorze pola AWK, aby uzyskać konkretne informacje.
Wniosek
W tym szybkim przewodniku omówiliśmy za pomocą AWK w celu oddzielenia wielu ograniczeń w pliku wejściowym.
Aby uzyskać więcej informacji na temat rozszerzenia funkcjonalności AWK FS, rozważ następujące zasoby:
https: // www.gnu antylopa.org/software/gawk/manual/html_node/regexp-field Sirting.html
https: // www.gnu antylopa.org/oprogramowanie/gawk/manual/html_node/field-saratory.html