Yuav ua li cas sau AWK lus txib thiab cov ntawv sau

Commands, syntax, thiab piv txwv

Txoj kev hais lus awk yog ib txoj kev ua haujlwm loj los sis ntsuam xyuas cov ntaub ntawv-hauv particular, cov ntaub ntawv cov ntaub ntawv uas tau tsim los ntawm kab (kab) thiab kab.

Tej yam yooj yim awk commands yuav khiav los ntawm cov kab hais kom ua . Cov haujlwm ntau yuav tsum tau muab sau ua ntawv raws li cov kev pabcuam (awk scripts) rau ib daim ntawv.

Qhov sau tau yooj yim ntawm kev hais lus awk zoo li no:

awk 'qauv {ua haujlwm}' input-file> cov ntaub ntawv tawm

Qhov no txhais tau tias: noj txhua kab ntawm cov ntaub ntawv tawm tswv yim; yog tias txoj kab muaj cov qauv siv rau qhov kev txiav txim mus rau kab thiab sau cov kab uas ua rau cov zis tawm. Yog tias tus qauv raug rho tawm, qhov kev txiav txim yuav raug siv rau txhua kab. Piv txwv li:

awk '{print $ 5}' table1.txt> output1.txt

Tsab ntawv no yuav siv lub caij ntawm kem 5 ntawm txhua kab thiab sau nws ua ib kab rau hauv cov ntaub ntawv "output.txt". Tus kab tias '$ 4' kuj yog hais txog ob sab. Ib yam li koj tuaj yeem nkag mus rau thawj kab lus thib ob thiab thib peb, nrog rau $ 1, $ 2, $ 3, thiab lwm yam. Los ntawm txhua lub sij hawm yog pom tias yuav tsum tau sib cais los ntawm tej qhov chaw los yog tabs (qhov hu ua qhov chaw dawb). Yog li, yog cov ntaub ntawv "table1.txt" muaj cov kab no:

1, Justin Timberlake, Title 545, Nqe $ 7.30 2, Taylor Swift, Title 723, Nqe $ 7.90 3, Mick Jagger, Title 610, Nqe $ 7.90 4, Lady Gaga, Title 118, Nqe $ 7.30 5, Johnny Nyiaj, Title 482, Nqe $ 6.50 6, Elvis Presley, Title 335, Nqe $ 7.30 7, John Lennon, Title 271, Nqe $ 7.90 8, Michael Jackson, Title 373, Nqe $ 5.50

Ces qhov kev txiav txim yuav sau cov kab hauv qab no rau cov ntaub ntawv tso tawm "output1.txt":

545, 723, 610, 118, 482, 335, 271, 373,

Yog tias lub sab nrauv yog ib yam dab tsi uas tsis yog qhov chaw los yog cov tabs, xws li ib qho voj voog, koj tuaj yeem hais qhia tau tias nyob rau hauv daim ntawv qhia ua raws li nram no:

awk -F, '{print $ 3}' table1.txt> output1.txt

Qhov no yuav xaiv lub caij los ntawm kab 3 ntawm txhua kab yog tias txhua txhua qhov kev txiav txim siab tau muab cais los ntawm ib qho twg. Vim li no cov zis, qhov no, yuav:

Title 545 Title 723 Npe 610 Title 118 Npe 482 Npe 335 Npe 271 Npe 373

Daim ntawv teev cov lus hauv lub tsho kauj ('{', '}') yog hu ua qhov thaiv. Yog tias koj tso cov zauv hauv cheeb tsam ntawm lub block, cov lus hauv lub block yuav raug tsuav yog tias qhov xwm txheej muaj tseeb.

awk '$ 7 == "\ $ 7.30" {print $ 3}' table1.txt

Hauv qhov no, tus mob yog $ 7 == "$ 7.30", uas txhais tau hais tias lub caij ntawm kem 7 yog sib npaug rau $ 7.30. Tus backslash nyob rau hauv pem hauv ntej ntawm daim phiajcim duas siv los tiv thaiv lub cev los ntawm kev txhais $ 7 ua ib qho txawv thiab siv lub cim kos npe cia.

Yog li no daim ntawv qhia kev sau qhia tawm tau tawm ntawm lub caij 3 ntawm txhua kab uas muaj "$ 7.30" ntawm kem 7.

Koj tseem tuaj yeem siv cov lus qhia niaj hnub ua qhov xwm txheej. Piv txwv li:

awk '\ / 30 \ / {print $ 3}' table1.txt

Txoj hlua ntawm ob qho luaj li ('/') yog qhov qhia tawm. Hauv qhov no, nws yog qhov hlua xwb "30." Qhov no txhais tau tias yog ib txoj kab muaj cov hlua "30", lub kaw lus tawm rau lub caij 3 ntawm kab ntawd. Cov zis hauv qhov piv txwv saum toj no yuav:

Timberlake, Gaga, Presley,

Yog hais tias lub rooj hais cov zauv muaj peev xwm khiav cov lus teb rau lawv xws li hauv qhov ua piv txwv no:

awk '{sau ($ 2 * $ 3) + $ 7}'

Dhau li ntawm cov qhab-nees uas muaj cov ntsiab lus ntawm cov kabmob tam sim no ($ 1, $ 2, thiab lwm yam) muaj qhov txawv $ 0 uas yog hais txog kab tiav (kab), thiab cov NF uas yog teej tug mus rau ntau hom.

Koj tuaj yeem txhais tau cov kev hloov tshiab xws li hauv qhov ua piv txwv no:

awk '{sum = 0; rau (col = 1; col <= NF; col ++) zaum + = $ col; sau sum; } '

Qhov no suav thiab luam tawm tag nrho cov ntsiab lus ntawm txhua leej.

Awk cov lus muaj nquag nrog nrog comm commands .