AWK команда во Linux/Unix


AWK е погоден за пребарување и обработка на шаблони. Скриптата работи за пребарување на една или повеќе датотеки за да се идентификуваат соодветните шеми и ако споменатите обрасци извршуваат специфични задачи. Во ова упатство, ќе ја разгледаме командата AWK Linux и ќе видиме што може да направи.

Какви операции може да направи AWK?

  • Скенирање датотеки ред по ред
  • Поделување на секоја влезна линија на полиња
  • Споредување влезни линии и полиња со шаблони
  • Извршување на одредени дејства на линии кои одговараат

Корисност на командата AWK

  • Промена на датотеки со податоци
  • Произведување форматирани извештаи

Програмски концепти за команда awk

  • Форматирајте ги излезните линии
  • Условни и јамки
  • Аритметички и операции со низа

AWK синтакса

$ awk options 'selection _criteria {action }' input-file > output-file

Примери за команда Awk

Печатење специфични колони

За да ги испечатите втората и третата колона, извршете ја командата подолу.

$ awk '{print $2 "\t" $3}' file.txt

Печатење на сите линии во датотека

Ако сакате да ги наведете сите линии и колони во датотека, извршете

$ awk ' {print $0}' file.txt

Печатење на сите линии што одговараат на одредена шема

ако сакате да печатите линии што одговараат на одредена шема, синтаксата е како што е прикажано

$ awk '/variable_to_be_matched/ {print $0}' file.txt

На пример, за да се поклопат сите записи со буквата „о“, синтаксата ќе биде

$ awk '/o/ {print $0}' file.txt
$ awk '/e/ {print $0}' file.txt

Печатење колони што одговараат на одредена шема

Кога AWK лоцира совпаѓање на шема, командата ќе го изврши целиот запис. Можете да го промените стандардното со издавање инструкција за прикажување само одредени полиња. На пример:

$ awk '/a/ {print $3 "\t" $4}' file.txt

Броење и печатење совпаднат модел

Можете да го користите AWK за броење и печатење на бројот на линии за секој совпаѓање на шаблони. На пример, командата подолу го брои бројот на примероци што се појавува соодветна шема

$ awk '/a/{++cnt} END {print "Count = ", cnt}' file.txt

Печатете линии со повеќе или помалку од број на знаци

AWK има вградена функција за должина која ја враќа должината на низата. Од командата $0 променливата ја складира целата линија и во отсуство на блок на телото, се презема стандардното дејство, т.е. дејството за печатење. Затоа, во нашата текстуална датотека, ако линијата има повеќе од 18 знаци, тогаш споредбата е точно, а линијата се печати како што е прикажано подолу.

$ awk 'length($0) > 20' file.txt

Зачувување на излезот од AWK во друга датотека

Ако сакате да го зачувате излезот од вашите резултати, користете го > операторот за пренасочување. На пример

$ awk '/a/ {print $3 "\t" $4}' file.txt > Output.txt

Можете да ги потврдите резултатите користејќи ја командата мачка како што е прикажано подолу

$ cat output.txt

Заклучок

AWK е уште една едноставна скрипта за програмирање што можете да ја користите за да манипулирате со текст во документи или да извршувате специфични функции. Споделените команди се неколку или многуте што допрва треба да ги знаете или наидете.