Als Linux System Administrateur, vill Mol, wäert Dir a Situatiounen kommen, wou Dir d'Ausgab vu verschiddene Kommandoen manipuléiere musst an nei formatéieren, fir einfach en Deel vun engem Ausgang ze weisen andeems Dir e puer Zeilen ausfiltert. Dëse Prozess kann als Textfilter bezeechent ginn, mat enger Sammlung vu Linux Programmer bekannt als Filtere.
Et gi verschidde Linux Utilities fir Textfilterung an e puer vun de bekannte Filtere enthalen Kapp, Schwanz, grep, tr, fmt, sort, uniq, pr a méi fortgeschratt a mächteg Tools wéi Awk a Sed.
Liest méi →All laanscht vum Ufank vun der Awk Serie bis Deel 12, hu mir kleng Awk Kommandoen a Programmer op der Kommandozeil respektiv a Shell-Skripte geschriwwen.
Wéi och ëmmer, Awk, grad wéi Shell, ass och eng interpretéiert Sprooch, dofir, mat allem wat mir vun Ufank vun dëser Serie duerchgaange sinn, kënnt Dir elo Awk ausführbar Scripte schreiwen.
Ähnlech wéi mir e Shell-Skript schreiwen, fänken Awk Scripte mat der Linn un:
#! /path/to/awk/utility -fZum Beispill op mengem System ass den Awk Utility an /usr/bin/awk lokaliséiert, dofir géif ech en Awk Skript wéi foll
Liest méi →Wann Dir all d'Awk Beispiller iwwerpréift, déi mir bis elo ofgedeckt hunn, direkt vum Ufank vun den Textfilteroperatioune baséiert op e puer Bedéngungen, dat ass wou d'Approche vu Flowkontroll Aussoen asetzt.
Et gi verschidde Flow Kontroll Aussoen an der Awk Programméierung an dës enthalen:
Wa mir Shell Scripte schreiwen, enthalen mir normalerweis aner méi kleng Programmer oder Kommandoen wéi Awk Operatiounen an eise Scripten. Am Fall vun Awk musse mir Weeër fannen fir e puer Wäerter vun der Shell op Awk Operatiounen weiderzebréngen.
Dëst kann gemaach ginn andeems Dir Shell Variablen bannent Awk Kommandoen benotzt, an an dësem Deel vun der Serie léiere mir wéi Awk erlaabt Shell Variablen ze benotzen déi Wäerter enthalen déi mir un Awk Kommandoen weiderginn wëllen.
Et méiglecherweis zwee Weeër wéi Dir Awk aktivéiere kënnt fir Shellvariablen ze benotzen:
Wéi mir d'Sektioun vun Awk Features entdecken, an dësem Deel vun der Serie, wäerte mir duerch d'Konzept vun agebaute Variablen an Awk goen. Et ginn zwou Zorte vu Verännerlechen Dir am Awk benotzen kann, dës sinn; Benotzerdefinéiert Variablen, déi mir am Deel 8 ofgedeckt hunn an agebaute Variablen.
Built-in Variablen hu Wäerter déi schonn an Awk definéiert sinn, awer mir kënnen dës Wäerter och virsii
Liest méi →D'Awk Kommando Serie gëtt spannend, ech gleewen, an de fréiere siwen Deeler si mir duerch e puer Fundamenter vun Awk gaang, déi Dir musst beherrschen fir datt Dir e puer Basistext- oder Stringfilterung am Linux ausféiert.
Vun dësem Deel un, wäerte mir a Virausberäicher vun Awk tauchen fir méi komplex Text- oder Stringfilteroperatiounen ze handhaben. Dofir wäerte mir Awk Features wéi Variablen, numeresch Ausdréck an Aufgabebetreiber ofdecken.
Liest méi →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 ' Liest méi →An dësem sechsten Deel vun der Awk Serie wäerte mir kucken op de Kommando next ze benotzen, deen Awk seet all verbleiwen Musteren an Ausdréck ze sprangen déi Dir geliwwert hutt, awer amplaz déi nächst Input Linn ze liesen.
De Kommando nächst hëlleft Iech fir ze verhënneren datt Dir dat ausféiert wat ech als Zäitverschwendende Schrëtt an enger Kommandoausféierung bezeechnen.
Fir ze verstoen wéi et funktionnéiert, loosst eis eng Datei mam Numm food_list.txt betruechten, déi esou ausgesäit:
No Item_Name Price Quantity Liest méi →Mir hunn déi ganzen Zäit no einfachen Ausdréck gekuckt wa mir iwwerpréift ob eng Konditioun erfëllt ass oder net. Wat wann Dir méi wéi een Ausdrock benotze wëllt fir no engem bestëmmten Zoustand ze kontrolléieren?
An dësem Artikel wäerte mir kucken wéi Dir verschidde Ausdréck kombinéiere kënnt, déi als zesummegesate Ausdréck bezeechent ginn, fir no enger Bedingung ze kontrolléieren wann Dir Text oder Strings filtert.
An Awk ginn zesummegesate Ausdréck gebaut mat der && bezeechent als (an) an den || bezeechent als (oder) zesumm
Liest méi →Wann Dir mat numereschen oder Stringwäerter an enger Textlinn handelt, kënnt Dir Text oder Strings mat Vergläichsbedreiwer filteren fir Awk Kommando Benotzer.
An dësem Deel vun der Awk Serie wäerte mir kucken wéi Dir Text oder Strings filtere kënnt mat Vergläichsoperateuren. Wann Dir e Programméierer sidd, da musst Dir scho mat Vergläichsbedreiwer vertraut sinn awer déi déi net sinn, loosst mech an der Rubrik hei drënner erklären.
Vergläichsbedreiwer an Awk gi benotzt fir de Wäert vun Zuelen oder Saiten ze vergläichen a si enthalen déi folgend: