Kako prebrati vhod Awk iz STDIN v Linuxu - 7. del


V prejšnjih delih serije orodij Awk smo branje vnosa preučevali večinoma iz datotek (datotek), a kaj, če želite prebrati vnos iz STDIN.

V tem 7. delu serije Awk si bomo ogledali nekaj primerov, kjer lahko filtrirate izhod drugih ukazov, namesto da berete vhod iz datoteke.

Začeli bomo z ukazom ls, v prvem primeru spodaj uporabimo izhod ukaza dir -l kot vhod za Awk za tiskanje uporabnikovega uporabniškega imena, imena skupine in datotek, ki jih ima v lasti v trenutnem imenik:

# dir -l | awk '{print $3, $4, $9;}'

Oglejte si še en primer, kjer uporabljamo izraze awk, tukaj želimo natisniti datoteke v lasti korenskega uporabnika z uporabo izraza za filtriranje nizov kot v spodnjem ukazu awk:

# dir -l | awk '$3=="root" {print $1,$3,$4, $9;} '

Zgornji ukaz vključuje primerjalni operater (==) , ki nam pomaga filtrirati datoteke v trenutnem imeniku, ki so v lasti korenskega uporabnika. To dosežemo z izrazom $3 == ”root” .

Oglejmo si še en primer, kjer uporabljamo operator primerjave awk za ujemanje določenega niza.

Tu smo uporabili pripomoček cat za ogled vsebine datoteke z imenom tecmint_deals.txt in si želimo ogledati samo ponudbe tipa Tech, zato bomo izvajali naslednje ukaze:

# cat tecmint_deals.txt
# cat tecmint_deals.txt | awk '$4 ~ /tech/{print}'
# cat tecmint_deals.txt | awk '$4 ~ /Tech/{print}'

V zgornjem primeru smo uporabili operator primerjave vrednosti ~/pattern/, vendar obstajata dva ukaza, s katerimi poskusite prikazati nekaj zelo pomembnega.

Ko zaženete ukaz z vzorcem tech, se nič ne natisne, ker ni dogovora te vrste, toda s Tech dobite ponudbe tipa Tech.

Zato bodite vedno previdni pri uporabi tega primerjalnega operaterja, saj razlikuje med velikimi in malimi črkami, kot smo videli zgoraj.

Izhod drugega ukaza lahko vedno uporabite kot vhod za awk, namesto da bi brali vhod iz datoteke, kar je zelo preprosto, kot smo videli v zgornjih primerih.

Upam, da so bili primeri dovolj jasni, da ste jih lahko razumeli. Če imate kakršne koli pomisleke, jih lahko izrazite v spodnjem oddelku za komentarje in ne pozabite preveriti naslednjega dela serije, kjer bomo preučili neprijetne lastnosti, kot so spremenljivke, številski izrazi in operaterji dodelitve.