Kif taqra l-Input Awk minn STDIN fil-Linux - Parti 7


Fil-partijiet preċedenti tas-serje ta 'għodda Awk, ħares lejn il-qari ta' input l-aktar minn fajl(i), imma x'jiġri jekk trid taqra input minn STDIN.

F'din il-Parti 7 tas-serje Awk, se nħarsu lejn ftit eżempji fejn tista' tiffiltra l-output ta' kmandi oħra minflok taqra input minn fajl.

Aħna nibdew bil-kmand ls, fl-ewwel eżempju hawn taħt, nużaw l-output tal-kmand dir -l bħala input għal Awk biex jistampa l-isem tal-utent tas-sid, l-isem tal-grupp u l-fajls li hu/hi jippossjedi fil-kurrent direttorju:

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

Agħti ħarsa lejn eżempju ieħor fejn nimpjegaw espressjonijiet awk, hawnhekk, irridu nipprintjaw fajls li huma proprjetà tal-utent root billi nużaw espressjoni biex tiffiltra kordi bħal fil-kmand awk hawn taħt:

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

Il-kmand ta’ hawn fuq jinkludi l-operatur ta’ tqabbil (==) biex jgħinna niffiltraw fajls fid-direttorju attwali li huma proprjetà tal-utent root. Dan jinkiseb bl-użu tal-espressjoni $3==root.

Ejja nħarsu lejn eżempju ieħor ta 'fejn nużaw operatur ta' paragun awk biex tqabbel ċertu string.

Hawnhekk, użajna l-utilità tal-qtates biex naraw il-kontenut ta' fajl bl-isem tecmint_deals.txt u rridu naraw il-ftehimiet tat-tip Tech biss, għalhekk se nħaddmu l-kmandi li ġejjin:

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

Fl-eżempju ta 'hawn fuq, użajna l-operatur ta' tqabbil tal-valur ~ /pattern/, iżda hemm żewġ kmandi biex tipprova toħroġ xi ħaġa importanti ħafna.

Meta tmexxi l-kmand b'mudell tech xejn ma jiġi stampat minħabba li m'hemm l-ebda ftehim ta 'dak it-tip, iżda ma' Tech, ikollok deals tat-tip Tech.

Allura dejjem oqgħod attent meta tuża dan l-operatur ta 'tqabbil, huwa sensittiv għall-każi kif rajna hawn fuq.

Tista 'dejjem tuża l-output ta' kmand ieħor minflok bħala input għal awk minflok taqra input minn fajl, dan huwa sempliċi ħafna kif ħares lejn fl-eżempji ta 'hawn fuq.

Nittama li l-eżempji kienu ċari biżżejjed biex tifhem, jekk għandek xi tħassib, tista’ tesprimihom permezz tat-taqsima tal-kummenti hawn taħt u ftakar li tiċċekkja l-parti li jmiss tas-serje fejn se nħarsu lejn karatteristiċi awk bħal varjabbli, espressjonijiet numeriċi u operaturi ta' assenjazzjoni.