Jak używać do pętli w poleceniu AWK

Jak używać do pętli w poleceniu AWK
Pętla służy do wielokrotnego wykonywania niektórych instrukcji. Iteracja pętli na podstawie warunku zakończenia lub liczby elementów tablicy. Trzy rodzaje pętli są obsługiwane przez każdy język programowania. Dla pętli jest jednym z nich. W przypadku pętli można zadeklarować na dwa sposoby. Prosty dla pętli zawiera trzy części. A kolejna pętla to pętla, która jest używana do iteracji dowolnej listy danych lub tablicy. Ten samouczek pokazuje użycie tych dwóch rodzajów pętli w poleceniu AWK za pomocą różnych przykładów.

Składnia:

  1. Do deklaracji pętli:
dla (inicjalizacja; warunek zakończenia; przyrost/zmniejszenie)
sprawozdania

Pierwsza część służy do zainicjowania zmiennej do uruchamiania Do pętla. Druga część zawiera warunek zakończenia w celu kontrolowania iteracji pętli, a pętla będzie kontynuowana, aż warunek będzie prawdziwy. Ostatnia część zwiększy lub zmniejszy zmienną inicjalizacyjną na podstawie pierwszej części.

  1. Deklaracja w formie
dla (zmienna w tablicy/liście)
sprawozdania

dla w Pętla służy do wykonywania tych zadań, w których liczba iteracji pętli nie jest ustalona. dla w pętla służy głównie do analizowania tablicy lub listy danych. Pętla odczytuje każde dane z tablicy lub listy i przechowuje wartość do zmiennej w każdej iteracji.

Przykład-1: Używanie prostej do pętli

W następującym skrypcie używany jest prosta pętla. Tutaj, lada zmienna jest inicjowana przez 10, a pętla zakończy się, gdy wartość lada jest mniej niż 5. Skrypt wydrukuje lada Wartości od 10 do 5. Uruchom polecenie z terminala.

$ echo | awk 'for (licznik = 10; licznik> = 5; licznik--)
Wydrukuj „Running for”, Counter, ”.","\N"; '

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu polecenia.

Przykład-2: Używanie pętli do przeczytania tablicy

Tablica nazwana klientem jest zadeklarowana w następującym skrypcie, w którym klienta ID jest ustawiony jako indeks tablicy i klienta nazwa jest ustawiony jako wartość tablicy. dla w Pętla jest tutaj używana do iteracji każdego indeksu z tablicy i wydrukowania nazwy klienta. Uruchom skrypt z terminalu.

$ echo | AWK 'start client ["4587"] = "Neil Johnson";
Klient [„8953”] = „Ella Binte Nazir”;
Klient [„3455”] = „Bruce Hyslop”;
Klient [„6335”] = „Isabella”;
End for (i in Client)
Wydrukuj „Nazwa”, i, „is”, klient [i]
'

Wyjście:

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

Przykład-3: Używanie zagnieżdżonych do pętli

Gdy pętla dla innej pętl. Zewnętrzna pętla, która jest używana w tym skrypcie, będzie iterowana przez 2 razy, a wewnętrzna pętla będzie iterować 3 razy. Tak więc instrukcja drukowania zostanie wykonana dla (2x3 = 6) 6 razy. Uruchom skrypt z terminalu.

$ echo | Awk 'end for (i = 1; i<=2; i++)
dla (j = 1; j<=3; j++)
Wydrukuj „Iterating Row”, I, „and Column”, J, „\ n”; ”

Wyjście:

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

Przykład-4: Korzystanie z pętli z instrukcją Break

przerwa Oświadczenie jest używane w każdej pętli do zakończenia pętli przed osiągnięciem warunków zakończenia na podstawie konkretnego warunku. W poniższym skrypcie dla pętli rozpocznie się od 3 i zakończy się, gdy wartość I jest większy niż 20. Ale kiedy wartość I będzie równe zmiennej num wówczas warunek IF będzie prawdziwy, a pętla zakończy się dla przerwa oświadczenie.

$ echo | awk 'start num = 7; End for (i = 3; i<=20; i++)
if (i == num) przerwa;
w przeciwnym razie
Wydrukuj „Bieżąca wartość i =”, i, „\ n”; ”

Wyjście:

Tutaj, jeśli warunek jest fałszywy dla czterech iteracji, gdy wartość I to 3,4,5 i 6. Tak więc dla czterech iteracji wydrukowane jest następujące dane wyjściowe.

Przykład-5: Korzystanie z pętli z instrukcją kontynuowania

Kontynuacja jest używana w każdej pętli, aby pominąć dowolne stwierdzenie na podstawie dowolnego konkretnego warunku. Tablica o nazwie produkt jest zadeklarowane w następującym skrypcie. dla w pętla służy do iteracji tablicy i sprawdzenia każdej wartości za pomocą „Oprogramowanie biurowe". Jeśli wartość pasuje, wówczas wydrukuje niedostępna wiadomość, pomijając dostępną wiadomość do instrukcji kontynuacji, w przeciwnym razie niedostępna wiadomość zostanie wydrukowana. Uruchom skrypt z terminalu.

$ echo | awk 'start produkt ["1001"] = "antivirus";
produkt [„1002”] = „Office Software”;
produkt [„1003”] = „Rysowanie oprogramowania”;
produkt [„1004”] = „hdd”;
produkt ["1005"] = "dvd"; end for (i in Product)
if (produkt [i] == "oprogramowanie biurowe")
Produkt wydruku [i], „nie jest dostępny \ n”;
Kontynuować;

Drukuj produkt [i], „jest dostępny”, „\ n”; ”

Wyjście:

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

Przykład-6: Korzystanie z pętli w pliku AWK

Utwórz plik tekstowy o nazwie obroty.tekst i dodaj następującą treść, aby ćwiczyć ten przykład.

obroty.tekst

2015 70000
2016 80000
2017 83000
2018 86000
2019 90000

Utwórz plik AWK o nazwie cal_sal.Awk z następującym skryptem w celu obliczenia całkowitej kwoty sprzedaży pliku obroty.tekst. Drugie pole zawiera roczną kwotę sprzedaży w pliku obroty.tekst. W skrypcie, wyprzedaże tablica będzie przechowywać wszystkie wartości drugiego pola i suma zmienna jest inicjowana z 0, aby dodać wszystkie wartości obroty szyk. Następny, dla w pętla służy do iteracji każdego elementu wyprzedaże tablica i dodaj wartość do suma zmienny. Na koniec instrukcja drukowania służy do wydrukowania wartości suma zmienne do wyświetlania całkowitej kwoty sprzedaży.

cal_sal.Awk


sprzedaż [i ++] = 2 USD;
sum = 0;

KONIEC
dla (i w sprzedaży)

sum = suma+sprzedaż [i];

wydrukuj „Total Sprzedaż kwoty =” suma;

Uruchom następujące polecenie, aby wykonać skrypt Cal_Sal.plik AWK.

$ awk -f cal_sal.sprzedaż AWK.tekst

Wyjście:

W 5 rekordach w obroty.tekst Plik i suma kwoty sprzedaży to 409000, która jest drukowana po wykonaniu skryptu.

Wniosek:

W tym samouczku próbuje się wyjaśnić różne zastosowania Loop in Awk Command. Mam nadzieję, czytelnik otrzyma jasny pomysł na użycie pętli w skrypcie AWK i będzie mógł prawidłowo używać pętli w programowaniu AWK.