20 primerov awk
V operacijskem sistemu Linux obstaja veliko uporabnih orodij za iskanje in ustvarjanje poročila iz besedilnih podatkov ali datoteke. Uporabnik lahko z uporabo ukazov awk, grep in sed z lahkoto opravi številne vrste iskanja, nadomeščanja in ustvarjanja poročil. awk ni le ukaz. To je skriptni jezik, ki ga lahko uporabljate tako v terminalu kot v datoteki awk. Podpira spremenljivko, pogojni stavek, matriko, zanke itd. kot drugi skriptni jeziki. Vrstico za vrstico lahko prebere katero koli vsebino datoteke in loči polja ali stolpce na podlagi določenega ločila. Podpira tudi regularni izraz za iskanje določenega niza v besedilni vsebini ali datoteki in ukrepa, če se najde kakšno ujemanje. Kako lahko uporabljate ukaz in skript awk, je v 20 navodilih prikazano v tej vadnici.
Vsebina:
- awk s printf
- awk, da se razdeli na presledek
- awk za spremembo ločila
- awk s podatki, ločenimi z zavihki
- awk s csv podatki
- awk regularni izraz
- regularni izraz, neobčutljiv na velike črke
- awk s spremenljivko nf (število polj)
- awk gensub () funkcija
- awk s funkcijo rand ()
- awk uporabniško določena funkcija
- awk if
- spremenljivke awk
- matrike awk
- awk zanka
- awk za tiskanje prvega stolpca
- awk za tiskanje zadnjega stolpca
- awk z grep
- awk z datoteko skripta bash
- awk s sed
Uporaba awk z printf
printf () Funkcija se uporablja za formatiranje katerega koli izhoda v večini programskih jezikov. To funkcijo lahko uporabljate z awk ukaz za generiranje različnih vrst formatiranih izhodov. ukaz awk, ki se večinoma uporablja za katero koli besedilno datoteko. Ustvarite besedilno datoteko z imenom zaposleni.txt s spodnjo vsebino, kjer so polja ločena z zavihkom ('\ t').
zaposleni.txt
1001 Janez Sena 400001002 Jafar Iqbal 60000
1003 Meher Nigar 30000
1004 Jonny Liver 70000
Naslednji ukaz awk bo bral podatke iz zaposleni.txt datoteko vrstico za vrstico in po formatiranju natisnite prvo datoteko. Tukaj, "% 10s \ n"Pomeni, da bo izhod dolg 10 znakov. Če je vrednost izhoda manjša od 10 znakov, bodo presledki dodani na sprednji strani vrednosti.
$ awk 'printf "% 10s \ n", $ 1' uslužbenec.txtIzhod:
Pojdite na Vsebina
awk, da se razdeli na presledek
Privzeto ločilo besede ali polja za razdelitev katerega koli besedila je presledek. Ukaz awk lahko na različne načine sprejme besedilno vrednost kot vhod. Vhodno besedilo je preneseno iz odmev ukaz v naslednjem primeru. Besedilo, 'Všeč mi je programiranje'bo privzeto ločen, vesolja, in tretja beseda bo natisnjena kot izhod.
$ echo 'Všeč mi je programiranje' | awk 'print $ 3'Izhod:
Pojdite na Vsebina
awk, da spremenite ločilo
z ukazom awk lahko spremenite ločilo za katero koli vsebino datoteke. Recimo, da imate besedilno datoteko z imenom telefon.txt z naslednjo vsebino, kjer se ':' uporablja kot ločilo polj vsebine datoteke.
telefon.txt
+123: 334: 889: 778+880: 1855: 456: 907
+9: 7777: 38644: 808
Zaženite naslednji ukaz awk, da spremenite ločilo, ':' avtor '-' do vsebine datoteke, telefon.txt.
$ mačji telefon.txt$ awk '$ 1 = $ 1' FS = ":" OFS = "-" telefon.txt
Izhod:
Pojdite na Vsebina
awk s podatki, ločenimi z zavihki
Ukaz awk ima veliko vgrajenih spremenljivk, ki se uporabljajo za branje besedila na različne načine. Dva od njih sta FS in OFS. FS je ločilo vnosnega polja in OFS je spremenljivka ločila izhodnega polja. Uporaba teh spremenljivk je prikazana v tem poglavju. Ustvariti zavihek ločena datoteka z imenom vhod.txt z naslednjo vsebino za preizkus uporabe FS in OFS spremenljivke.
Vhod.txt
Odjemalski skriptni jezikStrežniški skriptni jezik
Strežnik zbirke podatkov
Spletni strežnik
Uporaba spremenljivke FS s tabulatorjem
Naslednji ukaz bo razdelil vsako vrstico vhod.txt datoteko na podlagi zavihka ('\ t') in natisnite prvo polje vsake vrstice.
$ awk 'print $ 1' FS = '\ t' vnos.txtIzhod:
Uporaba spremenljivke OFS z jezičkom
Naslednji ukaz awk bo natisnil datoteko 9th in 5th polja v 'ls -l' izhod ukaza z ločilnikom zavihkov po tiskanju naslova stolpca “Ime"In"Velikost". Tukaj, OFS spremenljivka se uporablja za formatiranje izhoda z zavihkom.
$ ls -l$ ls -l | awk -v OFS = '\ t' 'ZAČNITE printf "% s \ t% s \ n", "Ime", "Velikost" print $ 9, $ 5'
Izhod:
Pojdite na Vsebina
awk s podatki CSV
Vsebino katere koli datoteke CSV je mogoče razčleniti na več načinov z uporabo ukaza awk. Ustvari datoteko CSV z imenom 'stranko.csv'Z naslednjo vsebino za uporabo ukaza awk.
stranko.txt
Id, ime, e-pošta, telefon1, Sophia, [e-pošta zaščitena], (862) 478-7263
2, Amelia, [e-pošta zaščitena], (530) 764-8000
3, Emma, [e-pošta zaščitena], (542) 986-2390
Branje enega polja datoteke CSV
'-F' Možnost se uporablja z ukazom awk za nastavitev ločila za razdelitev vsake vrstice datoteke. Naslednji ukaz awk bo natisnil datoteko ime področje stranka.csv mapa.
$ mačka stranka.csv$ awk -F "," 'print $ 2' stranka.csv
Izhod:
Branje več polj s kombiniranjem z drugim besedilom
Naslednji ukaz bo natisnil tri polja stranko.csv s kombiniranjem besedila naslova, Ime, e-pošta in telefon. Prva vrstica stranko.csv datoteka vsebuje naslov vsakega polja. NR spremenljivka vsebuje številko vrstice datoteke, ko jo ukaz awk razčleni. V tem primeru, NR spremenljivka se uporablja za izpustitev prve vrstice datoteke. Izhod bo prikazal 2nd, 3rd in 4th polja vseh vrstic, razen prve vrstice.
$ awk -F "," 'NR> 1 print "Ime:" $ 2 ", e-pošta:" $ 3 ", telefon:" $ 4 "stranka.csvIzhod:
Branje datoteke CSV z uporabo skripta awk
skript awk lahko izvedemo z zagonom datoteke awk. V tem primeru je prikazano, kako lahko ustvarite datoteko awk in jo zaženete. Ustvarite datoteko z imenom awkcsv.awk z naslednjo kodo. ZAČETI Ključna beseda se v skriptu uporablja za obveščanje ukaza awk za izvedbo skripta datoteke ZAČETI najprej del pred izvajanjem drugih nalog. Tukaj je ločilo polja (FS) se uporablja za definiranje ločevalnega ločila in 2nd in 1st polja se bodo natisnila v skladu z obliko, uporabljeno v funkciji printf ().
awkcsv.awkZAČNITE FS = "," printf "% 5s (% s) \ n", $ 2, $ 1
Teči awkcsv.awk datoteka z vsebino stranka.csv datoteko z naslednjim ukazom.
$ awk -f awkcsv.awk kupec.csvIzhod:
Pojdite na Vsebina
awk regularni izraz
Regularni izraz je vzorec, ki se uporablja za iskanje poljubnega niza v besedilu. Različne vrste zapletenih nalog iskanja in zamenjave je mogoče zelo enostavno opraviti z uporabo regularnega izraza. V tem razdelku je prikazanih nekaj preprostih načinov uporabe regularnega izraza z ukazom awk.
Ujemajoči se nabor znakovNaslednji ukaz se bo ujemal z besedo Norec ali bool ali Kul z vhodnim nizom in natisnite, če beseda najde. Tukaj, Lutka se ne ujema in ne natisne.
$ printf "Norec \ nOhrana \ nLutka \ nbool" | awk '/ [FbC] ool /'Izhod:
Iskanje niza na začetku vrstice
'^' simbol se uporablja v regularnem izrazu za iskanje katerega koli vzorca na začetku vrstice. "Linux ' besedo bomo iskali na začetku vsake vrstice besedila v naslednjem primeru. Tu se dve besedi začneta z besedilom, 'Linux'in ti dve vrstici bosta prikazani v izhodu.
$ echo -e "Linux je brezplačen za uporabo \ n Je odprtokodna programska oprema \ nLinuxHint jepriljubljeno spletno mesto "| awk '/ ^ Linux /'
Izhod:
Iskanje niza na koncu vrstice
'$' simbol se uporablja v regularnem izrazu za iskanje katerega koli vzorca na koncu vsake vrstice besedila. "Skripta'beseda se išče v naslednjem primeru. Tu sta besedi besedi v dveh vrsticah, Skripta na koncu vrstice.
$ echo -e "PHP Script \ nJavaScript \ nVizualno programiranje" | awk '/ Script $ /'Izhod:
Iskanje z izpuščanjem določenega nabora znakov
'^' simbol označuje začetek besedila, kadar je uporabljeno pred katerim koli vzorcem niza ('/ ^… /') ali pred katerim koli naborom znakov, ki ga prijavi ^ […]. Če je '^' v tretjem oklepaju se uporabi simbol, [^…], potem bo definirani nabor znakov znotraj oklepaja med iskanjem izpuščen. Naslednji ukaz bo poiskal katero koli besedo, ki se ne začne "F" vendar konča zool". Kul in bool bodo natisnjeni glede na vzorec in besedilne podatke.
$ printf "Norec \ nOhrana \ nLutka \ nbool" | awk '/ [^ F] ool /'Izhod:
Pojdite na Vsebina
regularni izraz, neobčutljiv na velike črke
Privzeto regularni izraz pri iskanju katerega koli vzorca v nizu išče z razliko med velikimi in malimi črkami. Iskanje brez razlikovanja med velikimi in malimi črkami lahko izvedete z ukazom awk z regularnim izrazom. V naslednjem primeru, znižati() funkcija se uporablja za iskanje brez občutljivosti na črke. Tu bo prva beseda vsake vrstice vhodnega besedila z uporabo pretvorjena v male črke znižati() funkcijo in se ujema z vzorcem regularnega izraza. toupper () V ta namen se lahko uporabi tudi funkcija, v tem primeru mora biti vzorec definiran z veliko začetnico. Besedilo, opredeljeno v naslednjem primeru, vsebuje iskalno besedo, 'splet'v dveh vrsticah, ki se natisnejo kot izhod.
$ echo -e "Spletno oblikovanje \ nrazvoj spleta \ nOkvir" | awk 'tolower ($ 0) ~ / ^ splet /;'Izhod:
Pojdite na Vsebina
awk s spremenljivko NF (število polj)
NF je vgrajena spremenljivka ukaza awk, ki se uporablja za štetje skupnega števila polj v vsaki vrstici vhodnega besedila. Ustvarite poljubno besedilno datoteko z več vrsticami in več besedami. vhod.txt tukaj je uporabljena datoteka, ki je bila ustvarjena v prejšnjem primeru.
Uporaba NF iz ukazne vrstice
Tu se prvi ukaz uporablja za prikaz vsebine vhod.txt datoteka in drugi ukaz se uporablja za prikaz skupnega števila polj v vsaki vrstici datoteke, ki uporablja NF spremenljivka.
$ mačka vnos.txt$ awk 'print NF' input.txt
Izhod:
Uporaba NF v datoteki awk
Ustvari datoteko awk z imenom štetje.awk s spodnjim scenarijem. Ko se bo ta skript izvedel s kakršnimi koli besedilnimi podatki, bo vsaka vsebina vrstice s skupnimi polji natisnjena kot izhod.
štetje.awk
natisni $ 0print "[Skupaj polj:" NF "]"
Zaženite skript z naslednjim ukazom.
$ awk -f štetje.awk input.txtIzhod:
Pojdite na Vsebina
awk gensub () funkcija
getsub () je nadomestna funkcija, ki se uporablja za iskanje niza na podlagi določenega ločila ali vzorca regularnega izraza. Ta funkcija je definirana v "gawk" paket, ki ni privzeto nameščen. Sintaksa te funkcije je podana spodaj. Prvi parameter vsebuje vzorec regularnega izraza ali ločilo iskanja, Drugi parameter vsebuje nadomestno besedilo, tretji parameter označuje, kako bo izvedeno iskanje, zadnji parameter pa besedilo, v katerem bo uporabljena ta funkcija.
Sintaksa:
gensub (regularni izraz, zamenjava, kako [, cilj])Za namestitev zaženite naslednji ukaz gawk paket za uporabo getsub () funkcija z ukazom awk.
$ sudo apt-get install gawkUstvari besedilno datoteko z imenom 'prodajne informacije.txt'z naslednjo vsebino za vadbo tega primera. Tu so polja ločena z zavihkom.
prodajne informacije.txt
Pon 700000Torek 800000
Sre 750000
Četrtek 200000
Pet 430000
Sobota 820000
Zaženite naslednji ukaz za branje številskih polj prodajne informacije.txt datoteko in natisnite celoten znesek prodaje. Tu tretji parameter "G" označuje globalno iskanje. To pomeni, da bomo vzorec iskali v celotni vsebini datoteke.
$ awk 'x = gensub ("\ t", "", "G", 2 USD); printf x "+" END print 0 'prodajne informacije.txt | bc -lIzhod:
Pojdite na Vsebina
awk s funkcijo rand ()
rand () funkcija se uporablja za generiranje poljubnega naključnega števila, večjega od 0 in manjšega od 1. Torej bo vedno ustvarilo delno število, manjše od 1. Naslednji ukaz bo ustvaril delno naključno število in pomnožil vrednost z 10, da bo število več kot 1. Za uporabo funkcije printf () bo natisnjeno delno število z dvema števkama za decimalno vejico. Če naslednji ukaz zaženete večkrat, boste vsakič dobili drugačen izhod.
$ awk 'BEGIN printf "Število je =%.2f \ n ", rand () * 10 'Izhod:
Pojdite na Vsebina
awk uporabniško določena funkcija
Vse funkcije, ki so bile uporabljene v prejšnjih primerih, so vgrajene funkcije. Lahko pa v svojem skriptu awk prijavite uporabniško določeno funkcijo za izvajanje katere koli posebne naloge. Recimo, da želite ustvariti funkcijo po meri za izračun površine pravokotnika. Če želite to narediti, ustvarite datoteko z imenom 'območje.awk'z naslednjim skriptom. V tem primeru uporabniško definirana funkcija z imenom območje () je prijavljen v skriptu, ki izračuna površino na podlagi vhodnih parametrov in vrne vrednost površine. getline Ukaz se tukaj uporablja za sprejem vnosa od uporabnika.
območje.awk
# Izračunaj površinofunkcijsko območje (višina, širina)
povratna višina * širina
# Zažene izvedbo
ZAČETI
print "Vnesite vrednost višine:"
getline h < "-"
print "Vnesite vrednost širine:"
getline w < "-"
natisni "Area =" območje (v, š)
Zaženite skript.
$ awk -f območje.awkIzhod:
Pojdite na Vsebina
awk če primer
awk podpira pogojne stavke kot drugi standardni programski jeziki. V tem razdelku so na treh primerih prikazani trije tipi stavkov if. Ustvarite besedilno datoteko z imenom predmetov.txt z naslednjo vsebino.
predmetov.txt
HDD Samsung 100 dolarjevMiška A4Tech
Tiskalnik HP 200 USD
Preprost primer:
naslednji ukaz bo prebral vsebino predmetov.txt datoteko in preverite 3rd vrednost polja v vsaki vrstici. Če je vrednost prazna, bo natisnilo sporočilo o napaki s številko vrstice.
$ awk 'if ($ 3 == "") print "V postavkah" NR "manjka polje za ceno.txtIzhod:
primer if-else:
Naslednji ukaz bo natisnil ceno izdelka, čerd polje obstaja v vrstici, sicer bo natisnilo sporočilo o napaki.
$ awk 'if ($ 3 == "") print "Polje s ceno manjka"sicer natisni "cena artikla je" $ 3.txt
Izhod:
primer if-else-if:
Ko se bo naslednji ukaz izvedel s terminala, bo uporabnik vnesel vnos. Vhodna vrednost se bo primerjala z vsakim pogojem if, dokler stanje ne bo resnično. Če kateri koli pogoj postane resničen, bo natisnil ustrezno oceno. Če se vhodna vrednost ne ujema z nobenim pogojem, tiskanje ne bo uspelo.
$ awk 'BEGIN print "Vnesite oznako:"oznaka getline < "-"
če (oznaka> = 90) natisnite "A +"
sicer če (oznaka> = 80) natisni "A"
sicer če (oznaka> = 70) natisnite "B +"
sicer natisni "Fail" '
Izhod:
Pojdite na Vsebina
spremenljivke awk
Izjava spremenljivke awk je podobna izjavi spremenljivke lupine. Razlika je v branju vrednosti spremenljivke. Simbol '$' se uporablja za ime spremenljivke spremenljivke lupine za branje vrednosti. Toda za branje vrednosti ni treba uporabiti '$' s spremenljivko awk.
Uporaba preproste spremenljivke:
Naslednji ukaz bo razglasil spremenljivko z imenom 'spletno mesto' in je spremenljivki dodeljena vrednost v nizu. Vrednost spremenljivke je natisnjena v naslednjem stavku.
$ awk 'BEGIN site = "LinuxHint.com "; mesto za tiskanje 'Izhod:
Uporaba spremenljivke za pridobivanje podatkov iz datoteke
Naslednji ukaz bo iskal besedo 'Tiskalnik' v datoteki predmetov.txt. Če se katera koli vrstica datoteke začne z 'Tiskalnik'potem bo shranil vrednost 1st, 2nd in 3rd polja v tri spremenljivke. ime in cena spremenljivke bodo natisnjene.
$ awk '/ tiskalnik / name = $ 1; blagovna znamka = 2 $; cena = 3 $; natisni "item name =" name;natisni "item price =" price 'elementov.txt
Izhod:
Pojdite na Vsebina
matrike awk
V awk se lahko uporabljajo tako številčni kot pripadajoči nizi. Izjava spremenljivke matrike v awk je enaka ostalim programskim jezikom. V tem razdelku je prikazano nekaj načinov uporabe nizov.
Asociativni niz:
Indeks matrike bo kateri koli niz za asociativno matriko. V tem primeru je deklarirana in natisnjena asociativna matrika treh elementov.
$ awk 'ZAČNIbooks ["Web Design"] = "Učenje HTML 5";
books ["Web Programming"] = "PHP in MySQL"
books ["PHP Framework"] = "Učenje Laravel 5"
printf "% s \ n% s \ n% s \ n", knjige ["Spletno oblikovanje"], knjige ["Spletno programiranje"],
knjige ["PHP Framework"] '
Izhod:
Številska matrika:
Številska matrika treh elementov je deklarirana in natisnjena z ločevalnim jezičkom.
$ awk 'ZAČNIštevilo [0] = 80;
število [1] = 55;
število [2] = 76;
# elementov matrike za tiskanje
printf "Vrednosti niza:% d \ t% d \ t% d \ n", število [0], število [1], število [2]; '
Izhod:
Pojdite na Vsebina
awk zanka
Tri vrste zank podpira awk. Uporaba teh zank je tukaj prikazana na treh primerih.
Zanka while:
zanka while, ki se uporablja v naslednjem ukazu, se bo petkrat ponovila in izstopila iz zanke za izjavo break.
$ Awk 'ZAČNI n = 1; medtem ko (n <= 10) if(n > 5) odmor; natisni n; n ++ 'Izhod:
Za zanko:
Za zanko, ki se uporablja v naslednjem ukazu awk, bo izračunal vsoto od 1 do 10 in izpisal vrednost.
$ awk 'ZAČNI vsota = 0; za (n = 1; n <= 10; n++) sum=sum+n; print sum 'Izhod:
Do-while zanka:
zanka za izvajanje naslednjega ukaza bo natisnila vsa soda števila od 10 do 5.
$ awk 'ZAČNI števec = 10; naredi if (števec% 2 == 0) števec tiskanja; števec--medtem (števec> 5) '
Izhod:
Pojdite na Vsebina
awk za tiskanje prvega stolpca
Prvi stolpec katere koli datoteke lahko natisnete s spremenljivko $ 1 v awk. Če pa vrednost prvega stolpca vsebuje več besed, se natisne samo prva beseda prvega stolpca. Z uporabo posebnega ločila lahko prvi stolpec pravilno natisnete. Ustvarite besedilno datoteko z imenom študentov.txt z naslednjo vsebino. Tu je v prvem stolpcu besedilo dveh besed.
Študenti.txt
Kaniz Fatema 30th serijaAbir Hossain 35th serija
Janez Abraham 40th serija
Zaženite ukaz awk brez ločil. Natisnjen bo prvi del prvega stolpca.
$ awk 'print $ 1' študentje.txtZaženite ukaz awk z naslednjim ločevalnikom. Natisnjen bo celoten del prvega stolpca.
$ awk -F '\\ s \\ s' 'print $ 1' študentje.txtIzhod:
Pojdite na Vsebina
awk za tiskanje zadnjega stolpca
$ (NF) spremenljivko lahko uporabimo za tiskanje zadnjega stolpca katere koli datoteke. Naslednji ukazi awk bodo natisnili zadnji del in celoten del zadnjega stolpca študentje.txt mapa.
$ awk 'print $ (NF)' študentje.txt$ awk -F '\\ s \\ s' 'print $ (NF)' študentje.txt
Izhod:
Pojdite na Vsebina
awk z grep
grep je še en uporaben ukaz Linuxa za iskanje vsebine v datoteki na podlagi katerega koli regularnega izraza. Kako je mogoče ukaze awk in grep uporabiti skupaj, je prikazano v naslednjem primeru. grep ukaz se uporablja za iskanje informacij po ID-ju zaposlenega, '1002'od zaposlenega.txt mapa. Izhod ukaza grep bo poslan kot awk kot vhodni podatki. 5% bonusa bo prešteto in natisnjeno na podlagi plače zaposlenega, "1002 ' z ukazom awk.
$ mačji uslužbenec.txt$ grep '1002' uslužbenec.txt | awk -F '\ t' 'print $ 2 "bo dobil $" ($ 3 * 5) / 100 "bonus"'
Izhod:
Pojdite na Vsebina
awk z datoteko BASH
Tako kot druge ukaze Linuxa se tudi ukaz awk lahko uporablja v skriptu BASH. Ustvarite besedilno datoteko z imenom stranke.txt z naslednjo vsebino. Vsaka vrstica te datoteke vsebuje informacije o štirih poljih. To so ID stranke, ime, naslov in številka mobilnega telefona, ki so ločeni '/".
stranke.txt
AL4934 / Charles M Brunner / 4838 Beeghley Street, Huntsville, Alabama / 256-671-7942CA5455 / Virginia S Mota / 930 Bassel Street, VALLECITO, Kalifornija / 415-679-5908
IL4855 / Ann A Neale / 1932 Patterson Fork Road, Chicago, Illinois / 773-550-5107
Ustvari bash datoteko z imenom item_search.bash z naslednjim skriptom. V skladu s tem skriptom bo uporabniku odvzeta vrednost stanja in jo poiskala v stranke.txt datoteko avtor grep ukaz in ga kot vhod posreduje ukazu awk. Ukaz Awk bo prebral 2nd in 4th polja vsake vrstice. Če se vhodna vrednost ujema s katero koli vrednostjo stanja stranke.txt nato natisne strankino datoteko ime in telefonska številka, v nasprotnem primeru bo natisnilo sporočilo »Nobena stranka ni najdena".
item_search.bash
#!/ bin / bashecho "Vnesite ime države:"
stanje branja
kupci = 'grep "$ state" stranke.txt | awk -F "/" 'print "Ime stranke:" $ 2, ",
Številka mobilnega telefona: "$ 4"
če ["$ kupcev" != ""]; potem
odmevajo $ kupci
drugače
echo "Nobena stranka ni najdena"
fi
Za prikaz naslednjih ukazov prikažite izhode.
$ mačjih strank.txt$ bash item_search.bash
Izhod:
Pojdite na Vsebina
awk s sed
Drugo uporabno orodje za iskanje Linuxa je sed. Ta ukaz lahko uporabite za iskanje in zamenjavo besedila katere koli datoteke. Naslednji primer prikazuje uporabo ukaza awk z sed ukaz. Tukaj bo ukaz sed poiskal vsa imena zaposlenih, začenši z 'J'in kot vhod preide na ukaz awk. awk bo natisnil zaposlenega ime in ID po formatiranju.
$ mačji uslužbenec.txt$ sed -n '/ J / p' uslužbenec.txt | awk -F '\ t' 'printf "% s (% s) \ n", $ 2, $ 1'
Izhod:
Pojdite na Vsebina
Zaključek:
Po pravilnem filtriranju lahko z ukazom awk ustvarite različne vrste poročil, ki temeljijo na poljubnih tabelarnih ali ločenih podatkih. Upam, da boste lahko izvedeli, kako deluje ukaz awk, potem ko ste vadili primere, prikazane v tej vadnici.