Wéi liesen Awk Input vu STDIN a Linux - Deel 7


An de fréieren Deeler vun der Awk Tool Serie hu mir d'Liesinput meeschtens vun enger Datei (en) gekuckt, awer wat wann Dir Input vu STDIN wëllt liesen.

An dësem Deel 7 vun der Awk Serie kucke mir e puer Beispiller wou Dir d'Output vun anere Kommandoen filtert anstatt d'Input vun enger Datei ze liesen.

Mir fänken un mam ls Kommando, am éischte Beispill hei drënner benotze mir d'Output vum dir -l Kommando als Input fir Awk fir de Benotzernumm vum Besëtzer, de Gruppennumm an d'Dateien ze drécken déi hien/si besëtzt an der aktueller Verzeechnes:

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

Kuckt emol en anert Beispill wou mir awk Ausdréck benotzen, hei wëlle mir Dateien ausdrécken déi vum Root Benotzer gehéiert andeems en Ausdrock benotzt fir Strings ze filteren wéi am awk Kommando hei ënnen:

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

De Kommando uewendriwwer enthält den (==) Vergläichsbedreiwer fir eis ze hëllefen Dateien am aktuellen Verzeechnes ze filteren, déi vum Root Benotzer Besëtz sinn. Dëst gëtt erreecht mam Ausdrock $3==”root”.

Loosst eis en anert Beispill kucken, wou mir en awk Verglachoperateur benotze fir e bestëmmte String ze passen.

Hei hu mir de Cat Utility benotzt fir den Inhalt vun enger Datei mam Numm tecmint_deals.txt ze gesinn a mir wëllen nëmmen d'Deals vum Typ Tech kucken, also wäerte mir déi folgend Kommandoen ausféieren:

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

Am Beispill hei uewen hu mir de Wäert ~ /pattern/ Vergläichsbedreiwer benotzt, awer et ginn zwee Kommandoen fir ze probéieren eppes ganz wichteg erauszebréngen.

Wann Dir de Kommando mat Muster Tech leeft, gëtt näischt gedréckt well et keen Deal vun deem Typ gëtt, awer mat Tech, kritt Dir Deals vum Typ Tech.

Also sidd ëmmer virsiichteg wann Dir dëse Vergläichsbedreiwer benotzt, et ass casesensitiv wéi mir hei uewen gesinn.

Dir kënnt ëmmer d'Output vun engem anere Kommando benotzen amplaz als Input fir awk anstatt d'Input vun enger Datei ze liesen, dëst ass ganz einfach wéi mir an de Beispiller hei uewen gekuckt hunn.

Hoffen d'Beispiller ware kloer genuch fir Iech ze verstoen, wann Dir Bedenken hutt, kënnt Dir se duerch d'Kommentarsektioun hei drënner ausdrécken an drun erënneren den nächsten Deel vun der Serie ze kontrolléieren wou mir awk Features kucken wéi Variabelen, numeresch Ausdréck an Aufgab Opérateuren.