Jak używać operatorów porównawczych z AWK w Linux - część 4
- 1495
- 91
- Tacjana Karpiński
W przypadku wartości numerycznych lub łańcuchowych w wierszu tekstu, filtrowanie tekstu lub ciągów przy użyciu operatorów porównawczych przydaje Awk użytkownicy poleceń.
W tej części serii AWK przyjrzymy się, w jaki sposób możesz filtrować tekst lub ciągi za pomocą operatorów porównawczych. Jeśli jesteś programistą, musisz już znać operatorów porównawczych, ale tych, którzy nie są, pozwól, że wyjaśnię w poniższej sekcji.
Jakie są operatorzy porównawcze w AWK?
Operatorzy porównawcze w AWK służą do porównania wartości liczb lub ciągów i obejmują następujące:
>
- Lepszy niż<
- mniej niż> =
- większe bądź równe<=
- mniejszy lub równy==
- równy!=
- nie równeSome_value ~ / wzór /
- Prawda, jeśli jakiś wartość_wagi pasuje do wzoruSome_value !~ / wzór /
- To prawda, że jakiś wartość nie pasuje do wzoru
Teraz, gdy spojrzeliśmy na różnych operatorów porównawczych w AWK, pozwól nam lepiej zrozumieć, używając przykładu.
W tym przykładzie mamy plik o nazwie Food_list.tekst która jest listą zakupów dla różnych artykułów spożywczych i chciałbym oznaczyć produkty żywnościowe, których ilość jest mniejsza lub równa 20, dodając (**)
Na końcu każdej linii.
Brak Item_name Cena 1 Mangoes 45 3 USD.45 2 jabłka 25 $ 2.45 3 ananasy 5 $ 4.45 4 pomidory 25 $ 3.45 5 cebuli 15 $ 1.45 6 bananów 30 $ 3.45
Ogólna składnia do korzystania z operatorów porównawczych w AWK to:
# wyrażenie Actions;
Aby osiągnąć powyższy cel, będę musiał uruchomić polecenie poniżej:
# AWK '3 30 $ drukuj 0; „Food_list.tekst Brak nazwy Item „Cena ilości 1 mango 45 3 USD.45 2 jabłka 25 $ 2.45 ** 3 ananasy 5 $ 4.45 ** 4 pomidory 25 $ 3.45 ** 5 cebuli 15 $ 1.45 ** 6 Banany 30 $ 3.45 **
W powyższym przykładzie zdarzają się dwie ważne rzeczy:
- Pierwsze wyrażenie działanie ; połączenie, 3 USD <= 30 printf „%s \ t%s \ n”, 0 $, ”**”; Wydrukuje linie o ilości mniejszej lub równej 30 i dodaje (**) Na końcu każdej linii. Dostęp do wartości ilości jest za pomocą 3 USD zmienna polowa.
- Drugie wyrażenie działanie ; połączenie, 3 $> 30 drukuj 0 $; Wydrukuje linie niezmienione, ponieważ ich ilość jest niższa 30.
Jeszcze jeden przykład:
# AWK '3 20 $ drukuj 0;' food_list.tekst Brak Item_name Cena 1 Mangoes 45 3 USD.45 2 jabłka 25 $ 2.45 3 ananasy 5 $ 4.45 True 4 Pomidory 25 $ 3.45 5 cebuli 15 $ 1.45 True 6 Bananas 30 $ 3.45
W tym przykładzie chcemy wskazać linie o ilości mniejszej lub równej 20 słowem (PRAWDA) na końcu.
Streszczenie
To jest samouczek wprowadzający do porównywania operatorów Awk, Dlatego musisz wypróbować wiele innych opcji i odkryć więcej.
W przypadku wszelkich problemów lub wszelkich dodatków, o których masz na myśli, porzuć komentarz w sekcji komentarzy poniżej. Pamiętaj, aby przeczytać następną część serii AWK, w której przejdę przez wyrażenia złożone.
- « Jak stosować wyrażenia złożone z AWK w Linux - część 5
- Objaśnienie „Everything Is a Plik” i typy plików w Linux »