10 najlepszych ciekawych poleceń AWK

10 najlepszych ciekawych poleceń AWK
Ten artykuł przeprowadzi Cię przez kilka interesujących poleceń AWK i kiedy z nich korzystać. Czytaj dalej, aby się dowiedzieć!

Wprowadzenie do AWK

AWK to popularny język w Unix i Linux. Dostał swoją nazwę od swoich autorów: Alfred Aho, Peter Weinberger i Brian Kerghan. Polecenie AWK umożliwia dostęp do języka programowania AWK, który jest zaprojektowany do przetwarzania danych w strumieniach tekstowych.

Popularnie używane do wzorców skanowania i uproszczenia złożonych operacji, AWK pomaga pisać skuteczne stwierdzenia do definiowania wzorców tekstu w pliku. Polecenie AWK następnie przetwarza te stwierdzenia, czytając jeden wiersz na raz i podejmuje działanie na podstawie podanego warunku.

Po prostu Put, AWK znajduje i zastępuje tekst, a pomaga sortować, sprawdzać, weryfikację lub indeksowanie podanych danych.

Cechy AWK

AWK ma wiele unikalnych funkcji:

  1. W AWK nie jest konieczna kompilacja
  2. Często używane do ekstrakcji danych
  3. Powszechnie używane do wykonywania manipulacji tekstem
  4. Pomaga generować wyniki w razie potrzeby.

Teraz zbadajmy moc poleceń AWK.

15 ciekawych poleceń AWK

Oto skompilowana lista kilku interesujących poleceń AWK:

  1. Drukowanie liczb losowych w zestawie - Załóżmy, że chcesz wydrukować kilka losowych liczb z wybranej puli. Możesz określić ilość losowych liczb z tej puli i poprosić AWK o wydrukowanie. Oto przykład: Wydrukujmy 10 liczb od 0 do 1000. Więc polecenie AWK to będzie następujące: awk 'początek for (i = 1; i <= 10; i++)
    print int (1001 * rand ()) '
  1. Poszukiwanie FOO lub baru - Co jeśli chcesz napisać wiersz, w którym chcesz przeprowadzić proste wyszukiwanie FOO lub paska? Oto polecenie, które pozwoli ci to zrobić: if (/foo/||/bar/)
    Znaleziono wydruku!"
  1. Przegrupowanie pola - Jeśli chcesz wydrukować określone pole w określonej kolejności, AWK może to zrobić dla Ciebie. Załóżmy, że chcesz wydrukować pierwsze 5 pól określonego zestawu w jednym polu na wiersz, możesz użyć następującego polecenia: AWK 'i = 1
    podczas gdy ja <= 3)
    Wydrukuj $ i
    I++

    'inputFile
  1. Podział linii - W dowolnym zestawie plików AWK może pomóc w podzieleniu linii na pola, gdzie x jest nazwą pola: $ awk 'print $ x, $ x' xyz.tekst
  1. Uruchamianie kilku poleceń jednocześnie - Aby uruchomić kilka poleceń jednocześnie, możesz użyć półkolonu, aby określić oba polecenia: $ echo „Dzień dobry! JACK "| AWK '$ 2 =" jill "; drukuj 0 $' '
  1. Wykonanie skryptu AWK - Jeśli chcesz wykonać skrypt AWK z określonego pliku, możesz utworzyć plik sum_column i wkleić poniższy skrypt w tym pliku: #!/usr/bin/awk -f
    Rozpocznij sum = 0
    sum = sum+$ x
    End druk suma

    W powyższym skrypcie x jest równa kolumnie, którą musisz wprowadzić w pliku. Po pomyślnym zakończeniu tego zadania możesz użyć następującego polecenia, aby wyświetlić sumę kolumny x w pliku wejściowym:

    awk -f sum_column input_file.
  1. Za pomocą -f - Podczas kodowania często nie można wydawać się niepraktyczne, aby odwołać się do terminala. AWK używa -f do wykonywania wyszukiwania z pliku: skrypt awk -f.AWK InputFile
  1. Wykonywanie funkcji matematycznych - Możesz także użyć AWK do prostych funkcji matematycznych: AWK 'sum = 2 USD + 3 USD + 4 USD; AVG = suma / 3
    > Drukuj 1 $, AVG „oceny
  1. Witaj świat w Awk - Możesz wydrukować prosty świat Hello w AWK za pomocą następującego polecenia: Awk „Begin print” Hello World!!„”

    Możesz także stworzyć program Hello World. Poniższy kod nie tylko wydrukuje wszechobecną wiadomość Hello, ale także wygeneruje informacje nagłówka:

    $ awk 'start print "hello świat!„”
  1. Drukowanie całkowitej liczby bajtów - Możesz znaleźć całkowitą bajty używane przez pliki za pomocą następującego polecenia: LS -L . |. awk 'x += 5 $; KONIEC \
    drukuj „Total bajtes:„ x ”
    Łączne bajty: 7449362
  1. Anonmizowanie dziennika Apache - Możesz użyć następującego kodu do anonimizacji dziennika Apache: Cat Apache-Anon-Noadmin.Log | \
    Awk 'funkcja ri (n) \
    return int (n*rand ()); \
    Początek srand (); Jeśli (! \
    (5 USD w Jack)) \
    Jack [5 $] = sprintf ("%d.%D.%D.%D", \
    RI (255), RI (255) \
    , RI (255), RI (255)); \
    5 USD = Jack [5 USD]; wydrukuj __G5_Token5B610BA53DBE4 ''
  1. Działanie w rzędach - Jeśli masz adres, który chciałbyś sortować w wierszach, możesz to zrobić za pomocą następującego polecenia: begin rs = ""; Fs = "\ n"

    Wydrukuj „Nazwa to:”, 1 USD
    Wydrukuj „Adres to:”, 2 USD
    Wydrukuj „City and State Are:”, 3 USD
    wydrukować „”
  1. Korzystanie z pętli When - Pętla, w którym wykonuje działanie podane jej w powtarzanym procesie, dopóki warunek będzie prawdziwy. Na przykład, aby drukować liczby od 1 do 100, możesz użyć następującego kodu: AWK 'start i = 1; podczas gdy ja < 100) print i; ++i '
  1. Korzystanie z pętli do zrobienia - W tej pętli warunek jest wykonywany na końcu pętli, nawet jeśli instrukcja jest fałszywa. Na przykład, aby wydrukować liczby od 1 do 100 za pomocą pętli do-podczas gdy można użyć następującego kodu: AWK 'start i = 1; do print i; ++ i while (i < 100) '
  1. Używając początku i końca - Słowo kluczowe początkowego służy do utworzenia nagłówka do przetwarzania rekordu: $ awk 'start print "xxx"

    W ten sam sposób słowo kluczowe końcowe jest używane po przetworzeniu danych:

    End drukuj „stopę pliku” '

To kończy listę 15 interesujących poleceń AWK. Możesz je wypróbować i zobaczyć wyniki. Mam nadzieję, że uznasz to za przydatne. Jeśli uznałeś ten artykuł za interesujący, możesz zbadać mastering scenariuszy Linux Shell - druga edycja. W tej książce odkryjesz wszystko, co musisz wiedzieć, aby opanować scenariusze skorupy i dokonać świadomych wyborów dotyczących zastosowanych elementów.