Pierwsze kroki z Gawk
Jeśli używasz najnowszych wersji Linux, GAWK należy domyślnie zainstalować. Możesz zweryfikować, sprawdzając jej wersję.
Istnieją różne sposoby używania GAWK. Wspólne funkcje są następujące:
Podstawowa składnia dla GAWK to:
$ gawk [opcje stylów POSIX / gnU] -F program_file [ -]
$ gawk [opcje stylów POSIX / GNU] [ -] „program” plik…
Aby użyć gawk, albo używasz -F opcja, aby bezpośrednio określić plik skryptu lub bezpośrednio określić skrypt w wierszu polecenia.
Podczas korzystania z GAWK należy zwrócić uwagę na trzy ważne opcje:
1. -F Plik, -file = plik: Używane, gdy chcesz używać poleceń GAWK i odczytu z pliku. Plik to skrypt.
2. -v var = val, -assign = var = val: Używane, gdy trzeba przypisać wartość do zmiennej przed wykonaniem skryptu.
3. -F FS, -Field -Separator = FS: Wartość predefiniowanej zmiennej FS jest używana jako separator dla pola wejściowego.
Wbudowane zmienne
GAWK oferuje wbudowane zmienne, takie jak:
FS: Używane podczas dzielenia plików i zawiera znak separatora pola.
RS: Zawiera bieżący separator znaków.
OF: Zawiera separator pola wyjściowego, który oddziela pola, które drukuje AWK.
NF: Liczba pól dla rekordu wejściowego jest przechowywana w NF.
Ors: Zawiera separator pola wyjściowego, który oddziela linie wyjściowe wydrukowane przez AWK.
NR: Zawiera całkowitą liczbę linii wejściowych.
W poprzednim przykładzie używamy * jako separatora dla linii wejściowych w pliku.
Przykładowe użycie GAWK
1. -F
Do sortowania pliku tekstowego i drukowania trzech pierwszych pól oddzielonych okrężnicy użyj następującego polecenia. Zauważ, że używamy Passwd Jako nasz plik tutaj:
$ gawk -f: 'drukuj 1 $; Wydrukuj 2 USD; Wydrukuj 3 $ ' /etc /passwd
Tutaj nasz separator jest pełnym okrężnicą. Ponieważ chcemy pierwszych trzech pól, określasz je, jak pokazano w poprzednim przykładzie. Możesz go dostosować i użyć innego separatora i innej liczby pól.
2. -F
Aby określić źródło programu AWK z pliku, użyj flagi -F, a następnie pliku:
$ gawk -f: -f plik1.txt /etc /passwd
3. Drukowanie zawartości pliku
Używanie GAWK w pliku drukuje wszystkie linie danych w pliku.
4. Praca z wzorami
Możesz także użyć GAWK i wydrukować tylko linie pasujące do danego wzoru. Na przykład, aby wydrukować linię zawierającą określone słowo, w naszym przypadku słowo to jest Kim, Poleceniem byłoby:
$ GAWK '/ KIM/ print'-nazwa pliku
Tutaj wzór może być również postacią. Na przykład, aby wydrukować wszystkie wiersze zawierające dwukropek, polecenie byłoby jak na poniższym obrazku:
Możesz także określić określone linie do wydrukowania. Na przykład, aby wydrukować linie zawierające określone znaki, takie jak 6, składnia to:
$ gawk 'długość (0 $)> 6' nazwa pliku
5. Podział linii na pola
GAWK domyślnie drukuje każde pole podczas drukowania linii w pliku. Możesz jednak określić, które pole do wydrukowania. Pierwsze pole jest przechowywane w 1 USD a cała linia jest reprezentowana jako 0 USD. Domyślnie cała linia zostanie wydrukowana, chyba że określisz, aby oddzielić pola na podstawie białej listy.
Na przykład, aby oddzielić wiersze i wydrukować tylko drugie pole każdego wiersza, poleceniem byłoby:
$ gawk 'drukuj 2 $-nazwa
Aby dodać numery linii, dodaj Nr zmienny.
Nowe polecenie byłoby:
$ gawk 'print nr, 2 $ „nazwa pliku
6. Zdobądź liczbę linii
Może być konieczne uzyskanie całkowitej liczby linii dla dużych plików i możesz to osiągnąć za pomocą następującej składni:
$ gawk 'end print nr' nazwa pliku
Wniosek
Wiedza o tym, jak używać GAWK w Linux, jest zabawna i pomocna, szczególnie w przypadku danych tekstowych. Możesz użyć różnych wzorów do wyodrębnienia i manipulowania wierszami danych. Mamy nadzieję, że przykłady omówione w tym artykule dają ci najwyższy start i otworzyć oczy w użyciu GAWK do różnych czynności.