Składnia:
arrayName [klucz] = wartość
Nazwa musi zadeklarować zmienną tablicy. ArrayName to nazwa tablicy tutaj. Każda tablica musi użyć trzeciego wspornika do zdefiniowania klucz Lub indeks i będzie to każda wartość ciągu dla tablicy asocjacyjnej. Wartość może być dowolnym znakiem, liczbą lub ciągiem, które będą przechowywać w określonym indeksie tablicy.
Przykład-1: Definiowanie i czytanie jednowymiarowej tablicy w AWK
Jednowymiarowa tablica może przechowywać listę danych z jednej kolumny. Ten typ tablicy zawiera pojedynczy klucz i wartość dla każdego elementu tablicy. Ta tablica może być używana w poleceniu AWK, jak inne języki programowania. W tym przykładzie wymieniona tablica książka jest zadeklarowane z trzema elementami, a do odczytu i drukowania każdego elementu używane jest. Uruchom następujące polecenie z terminala.
$ echo | AWK 'start Book ["html"] = "HTML Pocket Guide 2010";
książka [„js”] = „Effective JavaScript”;
książka [„css”] = „uczenie się projektowania stron internetowych”;
End for (i in Book) wydrukuj „The Book of”, i, „is”, książka [i]; ''
Wyjście:
Przykład-2: Definiowanie i czytanie dwuwymiarowej tablicy w AWK
Do przechowywania listy danych tabelarycznych, która zawiera stałą liczbę wierszy i kolumn, używana jest dwuwymiarowa tablica. Dwuwymiarowa tablica nazwana studenci jest zadeklarowana w tym przykładzie, który zawiera trzy elementy. Tutaj identyfikator i nazwa ucznia są używane jako kluczowe wartości tablicy. Podobnie jak poprzedni przykład, for-in-in Loop jest używany w skrypcie AWK do wydrukowania wartości tablicy. Uruchom następujący skrypt z terminalu.
$ echo | Awk 'początek
studenci [„87462, Mohammed Ali”] = 87;
Studenci [„98376, Sakib al Hasan”] = 99;
studenci [„79937, Musfikur Rahman”] = 88;
print "(id, nazwa) => marki";
End for (i in Students) print "(", i, ") =>", studenci [i]; '
Wyjście:
Przykład-3: Usuwanie elementu tablicy
Każda wartość tablicy można usunąć na podstawie wartości kluczowej. Tutaj, książka tablica z trzema elementami jest zdefiniowana na początku skryptu. Następnie wartość klucza Html jest usuwany za pomocą usuwać Komenda. Wartość elementu Html Klucz jest drukowany przed i po usuwać Komenda. Uruchom następujące polecenie, aby sprawdzić wyjście.
$ echo | AWK 'start Book ["html"] = "HTML Pocket Guide 2010";
książka [„js”] = „Effective JavaScript”;
książka [„CSS”] = „Uczenie się projektowania stron internetowych”;
Wydrukuj „przed usunięciem -”, książka [„html”];
Usuń książkę [„html”];
wydrukuj „\ nafter delete -”, książka [„html”]; '
Wyjście:
Wyjście pokazuje, że wartość Html Indeks jest pusty po wykonaniu usuwać Komenda.
Przykład-4: Czytanie tablicy bash w AWK
W poprzednich przykładach tablica jest zadeklarowana w poleceniu AWK i iterowana przez For-In Loop. Ale możesz przeczytać dowolną tablicę Bash według skryptu AWK. W tym przykładzie wymieniona tablica bash Lang jest zadeklarowane w pierwszym poleceniu. W drugim poleceniu wartości macierzy bash są przekazywane do polecenia AWK, które przechowuje wszystkie elementy w nazwanej tablicy AWK Awkarray. Wartości tablicy awkarray są drukowane za pomocą pętli. Uruchom następujące polecenie z terminala, aby sprawdzić wyjście.
$ lang = („php” „ASP” „JSP” „C#” „C ++”)
$ printf '%s \ n' "$ lang [@]" | awk 'awkarray [nr] = $ 1 end for for
(I in Awkarray) Drukuj awkarray [i], „\ n”; '
Przykład-5: odczyt treści pliku w tablicy AWK
Treść dowolnego pliku można odczytać za pomocą tablicy AWK. Utwórz plik tekstowy o nazwie ptak.tekst z zawartością podaną poniżej.
ptak.tekst
Koktajl
Przepiórka
Grey Parrot
Baazigar
Do czytania zawartości z zawartości AWK służy do odczytu ptak.tekst Złóż i przechowuj wartości w tablicy, Awkarray. Do parsowania tablicy i wydrukowania wartości w terminalu. Uruchom następujący skrypt z terminalu.
$ awk 'awkarray [Counter ++] = 1 $; End for (n = 0; nwydrukuj awkarray [n], „\ n”; „ptak.tekst
Wyjście:
Skrypt drukuje treść ptak.tekst.
Przykład-6: Usuwanie zduplikowanych wpisów z pliku
Skrypt AWK można użyć do usuwania zduplikowanych danych z dowolnego pliku tekstowego. Utwórz plik tekstowy o nazwie owoce.tekst z następującą treścią. W pliku znajdują się dwa zduplikowane dane. To są Jabłko I Pomarańczowy.
owoce.tekst
Jabłko
Pomarańczowy
Winogrono
Jabłko
Banan
Pomarańczowy
Guawa
Następujący skrypt AWK odczytuje każdy wiersz z pliku tekstowego, owoce.tekst i sprawdź obecną linię istnieje lub nie w tablicy, ARR. Jeśli linia istnieje w tablicy, nie będzie przechowywać linii w tablicy i nie będzie drukować wartości w terminalu. Tak więc skrypt będzie przechowywał tylko unikalne linie z pliku do tablicy i wydruku. Uruchom polecenia z terminala.
$ Cat Fruits.tekst
$ awk '!(0 $ w ARR) print ARR [$ 0], 0 $; owoce.tekst
Wyjście:
Pierwszy wydrukuje zawartość pliku, owoce.TXT i drugie polecenie wydrukują zawartość owoców.TXT po pominięciu zduplikowanych wierszy z pliku.
Ten samouczek pokazuje różne zastosowania tablicy w skrypcie AWK, używając różnych przykładów z wyjaśnieniem. Dostęp do tablicy Bash i dowolnej zawartości plików tekstowych za pomocą tablicy AWK. Jeśli jesteś nowy w programowaniu AWK, ten samouczek pomoże Ci nauczyć się zastosowań AWK Array z Basic i będziesz mógł prawidłowo używać tablicy w skrypcie AWK.