Komanda AWK në Linux/Unix
AWK është i përshtatshëm për kërkimin dhe përpunimin e modeleve. Skripti funksionon për të kërkuar një ose më shumë skedarë për të identifikuar modelet që përputhen dhe nëse modelet e përmendura kryejnë detyra specifike. Në këtë udhëzues, ne hedhim një vështrim në komandën AWK Linux dhe shohim se çfarë mund të bëjë.
Çfarë operacionesh mund të bëjë AWK?
- Skanimi i skedarëve rresht pas rreshti
- Ndarja e çdo rreshti hyrës në fusha
- Krahasimi i linjave dhe fushave hyrëse me modelet
- Kryerja e veprimeve të specifikuara në linjat që përputhen
Dobia e komandës AWK
- Po ndryshon skedarët e të dhënave
- Prodhimi i raporteve të formatuara
Konceptet e programimit për komandën awk
- Formatoni linjat e daljes
- Të kushtëzuara dhe sythe
- Veprimet aritmetike dhe vargjet
Sintaksa AWK
$ awk options 'selection _criteria {action }' input-file > output-file
Shembuj të komandave Awk
Printimi i kolonave specifike
Për të printuar kolonën e dytë dhe të tretë, ekzekutoni komandën më poshtë.
$ awk '{print $2 "\t" $3}' file.txt
Printimi i të gjitha rreshtave në një skedar
Nëse dëshironi të listoni të gjitha rreshtat dhe kolonat në një skedar, ekzekutojeni
$ awk ' {print $0}' file.txt
Printimi i të gjitha linjave që përputhen me një model specifik
nëse dëshironi të printoni rreshta që përputhen me një model të caktuar, sintaksa është siç tregohet
$ awk '/variable_to_be_matched/ {print $0}' file.txt
Për shembull, për të përputhur të gjitha hyrjet me shkronjën o, sintaksa do të jetë
$ awk '/o/ {print $0}' file.txt
$ awk '/e/ {print $0}' file.txt
Printimi i kolonave që përputhen me një model specifik
Kur AWK lokalizon një përputhje modeli, komanda do të ekzekutojë të gjithë rekordin. Ju mund të ndryshoni parazgjedhjen duke lëshuar një udhëzim për të shfaqur vetëm disa fusha. Për shembull:
$ awk '/a/ {print $3 "\t" $4}' file.txt
Numërimi dhe printimi i modelit të përputhur
Ju mund të përdorni AWK për të numëruar dhe printuar numrin e rreshtave për çdo përputhje modeli. Për shembull, komanda më poshtë numëron numrin e rasteve që shfaqet një model që përputhet
$ awk '/a/{++cnt} END {print "Count = ", cnt}' file.txt
Printoni linja me më shumë ose më pak se një numër karakteresh
AWK ka një funksion të integruar të gjatësisë që kthen gjatësinë e vargut. Nga komanda $0 ndryshorja ruan të gjithë rreshtin dhe në mungesë të një blloku trupor, kryhet veprimi i paracaktuar, d.m.th., veprimi i printimit. Prandaj, në skedarin tonë të tekstit, nëse një rresht ka më shumë se 18 karaktere, atëherë krahasimi rezulton i vërtetë dhe rreshti printohet siç tregohet më poshtë.
$ awk 'length($0) > 20' file.txt
Ruajtja e prodhimit të AWK në një skedar tjetër
Nëse dëshironi të ruani rezultatet e rezultateve tuaja, përdorni operatorin > ridrejtimi. Për shembull
$ awk '/a/ {print $3 "\t" $4}' file.txt > Output.txt
Ju mund të verifikoni rezultatet duke përdorur komandën cat siç tregohet më poshtë
$ cat output.txt
konkluzioni
AWK është një tjetër skript i thjeshtë programimi që mund ta përdorni për të manipuluar tekstin në dokumente ose për të kryer funksione specifike. Komandat e përbashkëta janë disa ose të shumta që ende nuk i keni njohur ose hasur.