Paano Gamitin ang awk Command sa Bash

Paano Gamitin Ang Awk Command Sa Bash



Kapag nagtatrabaho sa kapaligiran ng command line, mahalagang magkaroon ng isang malakas na pag-unawa sa iba't ibang mga command na magagamit upang epektibong pamahalaan ang mga file, direktoryo, at iba pang data. Ang isa sa gayong utos ay ang utos na 'awk'. Ang awk ay isang malakas na utility na ginagamit upang iproseso at manipulahin ang mga text file sa kapaligiran ng Unix/Linux. Ipapaliwanag ng artikulong ito kung ano ang 'awk' na utos at mga paraan para magamit ito nang epektibo.

Ano ang 'awk' na Utos?

Ang command na 'awk' ay isang makapangyarihang tool para sa pagmamanipula at pagproseso ng mga text file sa mga kapaligiran ng Unix/Linux. Maaari itong magamit upang magsagawa ng mga gawain tulad ng pagtutugma ng pattern, pag-filter, pag-uuri, at pagmamanipula ng data. Ang awk ay pangunahing ginagamit upang iproseso at manipulahin ang data sa isang structured na paraan.







Paano Gamitin ang awk Command

Ang awk ay isang command-line tool na maaaring magamit sa iba't ibang paraan. Maaari itong direktang i-invoke mula sa command line, o maaari itong gamitin kasabay ng isang shell script. Narito ang ilang halimbawa kung paano gamitin ang awk:



Halimbawa 1: Pagbibilang ng Bilang ng mga Linya sa isang File

Upang mabilang ang bilang ng mga linya sa isang file, maaari mong gamitin ang sumusunod na awk syntax:



awk 'END{print NR}' < file-name.txt >


Dito, ang 'NR' ay isang built-in na variable na naglalaman ng bilang ng mga record (linya) na naproseso ng awk. Sinasabi ng keyword na 'END' sa awk na isagawa ang command na ito pagkatapos maproseso ang lahat ng linya sa file. Narito ako ay lumikha ng isang file text file para sa mga layunin ng paglalarawan at pagkatapos ay ginamit ang itaas na syntax sa isang shell script na:





#!/bin/bash
awk 'END{print NR}' testfile.txt


Ang text file na ginawa ko ay may dalawang linya at kapag ang awk command ay ginamit ang output na ipinapakita 2, makikita mo ang text file na ginawa ko sa larawan sa ibaba:



Halimbawa 2: Pag-filter ng Data

Maaaring gamitin ang awk upang i-filter ang data batay sa partikular na pamantayan at narito ang syntax na dapat gamitin ng isa para sa naturang layunin:

awk '!//' < file-name.txt >


Halimbawa, maaari mong gamitin ang command sa ibaba upang i-filter ang lahat ng mga linya sa isang file na naglalaman ng salitang 'Hello.'

#!bin/bash
awk '!/Kamusta/' testfile.txt


Sa halimbawang ito, ang '!' tinatanggihan ng simbolo ang paghahanap ng regular na expression, kaya lahat ng mga linya na hindi naglalaman ng salitang 'Hello' ay ipi-print. Ginamit ko ang parehong text file tulad ng sa nakaraang halimbawa kaya narito ang output ng ibinigay na script sa itaas:

Halimbawa 3: Pagkuha ng Mga Tukoy na Field

Ang awk ay maaari ding gamitin upang kunin ang mga partikular na field mula sa isang file. Halimbawa, kung mayroon kang file na naglalaman ng listahan ng mga pangalan at address, at ang mga pangalan lang ang gusto mong kunin, maaari mong gamitin ang sumusunod na command:

awk '{print $}' < file-name.txt >


Dito para sa paglalarawan, na-print ko ang unang field ng parehong text file at ang '$1' ay kumakatawan sa unang field sa bawat linya ng file. Ang command na 'print' ay nagsasabi sa awk na i-print lamang ang field na iyon.

#!/bin/bash
awk '{print $1}' testfile.txt


Sa text file ang unang entry ng unang linya ay 'Ito' at ang unang entry ng pangalawang linya ay 'Hello' kaya narito ang output ng ibinigay na code:

Konklusyon

Ang awk command ay isang makapangyarihang tool na ginagamit upang manipulahin at iproseso ang mga text file. Pinapayagan ka nitong magsagawa ng iba't ibang mga operasyon sa mga text file, tulad ng pag-print ng mga partikular na column, paghahanap ng mga pattern, at pagkalkula ng mga kabuuan. Sa pamamagitan ng pag-master ng mga pangunahing kaalaman sa awk, maaari mong i-streamline ang iyong daloy ng trabaho at maging isang mas mahusay at epektibong user ng Linux o Unix.