Jak używać zmiennej w poleceniu AWK

Jak używać zmiennej w poleceniu AWK
Zmienne służą do przechowywania dowolnej wartości tymczasowej w dowolnym języku programowania. Definiowanie zmiennej w poleceniu AWK jest podobne do języka skryptowego Bash i działa jak bash, gdy zmienna powłoki jest używana z pojedynczym cytatem i podwójnym cytatem. Command AWK ma wiele wbudowanych zmiennych do różnych celów. W tym samouczku można wyświetlić w tym samouczku, w jaki sposób zmienne zdefiniowane przez użytkownika, wbudowane i powłoki mogą być używane.

miXample -1: Zmienna definiowanie i drukowanie

Polecenie „AWK” używa opcji „-v” do zdefiniowania zmiennej. W tym przykładzie myvar Zmienna jest zdefiniowana w poleceniu „AWK”, aby przechowywać wartość, „Zmienna AWK” to jest wydrukowane później. Uruchom następujące polecenie z terminala, aby sprawdzić wyjście.

$ echo | awk -v myvar = 'AWK zmienna' 'print myvar' '

Wyjście:

Przykład - 2: Używanie zmiennej powłoki w AWK z jednym cytatem i podwójnym cytatem

Przykład pokazuje, w jaki sposób można użyć zmiennej powłoki. Tutaj zmienna powłoki, myvar jest zadeklarowany wartością, „Wskazówka Linux” W pierwszym poleceniu. Symbol „$” jest używany z nazwą zmiennej powłoki do odczytania wartości. Drugie polecenie odczytuje zmienną, $ myval z jednym cytatem (') i trzecie polecenie odczytuje zmienną $ myvar z podwójnym cytatem („) w instrukcji„ AWK ”.

$ myvar = "Linux wskazówka"
$ echo | awk -v awkvar = '$ myvar' 'print awkvar; '
$ echo | awk -v awkvar = "$ myvar" 'print awkvar; '

Wyjście:

W wyjściu pokazano, że wartości $ myvar nie można odczytać, gdy jest zamknięta z pojedynczym cytatem ('), a wyjście jest $ myvar. Wartość $ myvar jest drukowany, gdy jest zamknięty z podwójnym wyceną („).

Przykład - 3: Czytanie zmiennej ArgC w AWK

Zmienna ARGC służy do zliczenia całkowitej liczby argumentów wiersza poleceń. Trzy zmienne argumentów wiersza poleceń (T1, T2, T3) są przekazywane w następującym skrypcie AWK. Tutaj całkowita liczba argumentów ze skryptem wynosi 4. Uruchom skrypt z terminalu.

$ awk 'start print "total arguments =", argc' t1 t2 t3

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład - 4: Czytanie zawartości pliku według zmiennych argumentów

Utwórz plik tekstowy o nazwie klient.tekst z następującą treścią do ćwiczenia tego przykładu. Tutaj każde pole pliku jest oddzielone przez pojedyncze patka przestrzeń.

klient.tekst

Nazwa id
103847 John Micheal
209485 Watson
974732 Mira Hossain

Polecenie AWK może odczytać każde pole z dowolnego pliku tekstowego według zmiennych argumentów. Są dwa pola w klient.tekst plik. To są identyfikator i nazwa. Poniższy skrypt wydrukuje te dwa pola według zmiennych argumentów, 1 USD I 2 USD Oddzielając dwa patka przestrzenie. Uruchom skrypt z terminalu.

$ CAT Klient.tekst
$ CAT Klient.txt | awk 'drukuj 1 $ "\ t \ t" $ 2;'

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu powyższych poleceń.

Przykład- 5: Za pomocą wbudowanej zmiennej, FS i opcji separatora pola z poleceniem AWK

Zmienna FS jest używana w poleceniu AWK jako separator pola. Przestrzeń jest używana jako domyślna wartość FS. Następujące polecenie odczytuje plik klient.tekst Używanie przestrzeni jako separatora pola i wydrukuj zawartość pliku. Uruchom polecenie z terminala.

$ AWK FS Klient.tekst

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Polecenie AWK może używać innych znaków jako separatora pola za pomocą opcji „-f”. Utwórz plik tekstowy o nazwie produkt.tekst z następującą zawartością, gdzie „:” jest używany jako separator pola.

produkt.tekst

101: Ciasto: 30 USD
102: ołówek: 5 USD
103: Mydło: 3 USD
104: Szampon: 10 USD

W pliku są trzy pola, produkt.tekst który zawiera identyfikator, nazwę i cenę produktu. Następujące polecenie AWK wydrukuje tylko drugie pole każdego wiersza. Uruchom polecenia z terminala.

produkt $ cat.tekst
$ awk -f ':' 'drukuj 2 $'.tekst

Wyjście:

Tutaj pierwsze polecenie wydrukowało treść produkt.tekst a drugie polecenie wydrukowało tylko drugie pole pliku.

Przykład - 6: Za pomocą wbudowanej zmiennej, NR z poleceniem AWK

Zmienna NR jest używana w poleceniu AWK do zliczenia całkowitej liczby rekordów lub wierszy pliku. Utwórz plik tekstowy o nazwie student.tekst Aby przetestować funkcję tej zmiennej.

student.tekst

Nazwa semestr partii
Jan 20 3
Mira 22 1
Ella 18
Charle 15 8

Następujący skrypt AWK wydrukuje pierwsze trzy wiersze produkt.tekst plik. Tutaj dodaje się warunek za pomocą zmiennej NR. Polecenie wydrukuje te wiersze, w których wartość NR jest mniejsza niż 4. Uruchom skrypt z terminalu.

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

$ CAT Student.txt | Awk 'nr < 4'

Przykład - 7: Za pomocą wbudowanej zmiennej, NF z poleceniem AWK

Zmienna NF jest używana w poleceniu AWK do zliczenia całkowitej liczby pól w każdym wierszu pliku. Do pliku zastosowano następujący skrypt AWK, student.tekst który jest tworzony w poprzednim przykładzie. Skrypt wydrukuje te wiersze z student.tekst plik, w którym łączne pola są mniejsze niż 3. Uruchom polecenie z terminala.

$ CAT Student.txt | Awk 'nf < 3'

Wyjście:

W pliku istnieje tylko jedna linia, w której całkowita liczba pól jest mniejsza niż 3, która jest wydrukowana jako wyjście.

Przykład - 8: Za pomocą wbudowanej zmiennej, z polecenie AWK

Zmiennej ofs jest używana w poleceniu AWK, aby dodać separator pola wyjściowego w wyjściu. produkt.tekst Plik jest używany w tym przykładzie, aby pokazać użycie zmiennej OFS. „:” jest używany jako separator pola w produkcie.plik txt. Używany następujący skrypt AWK '->' jako wartość OFS i drugi i trzeci pola pliku wydrukują, dodając ten separator. Uruchom polecenia z terminala.

produkt $ cat.tekst
$ awk -f ':' 'start ofs = " ->"; print 2 $, 3 $;' produkt.tekst

Wyjście:

Następujące dane wyjściowe wydrukują po uruchomieniu poleceń.

Wniosek:

Najczęstsze zastosowania zmiennych AWK są próbowane wyjaśnienie w tym samouczku. Mam nadzieję, czytelnik będzie mógł prawidłowo używać zmiennych AWK w skrypcie po ćwiczeniu tego samouczka.