20 awk primjera
U operacijskom sustavu Linux postoje mnogi uslužni alati za pretraživanje i generiranje izvješća iz tekstualnih podataka ili datoteke. Korisnik može lako izvršiti mnoge vrste pretraživanja, zamjene i generiranja zadataka generiranjem pomoću naredbi awk, grep i sed. awk nije samo naredba. To je skriptni jezik koji se može koristiti i iz terminala i iz awk datoteke. Podržava varijablu, uvjetni izraz, niz, petlje itd. poput ostalih skriptnih jezika. Može čitati bilo koji sadržaj datoteke redak po redak i odvojiti polja ili stupce na temelju određenog graničnika. Također podržava regularni izraz za pretraživanje određenog niza u tekstualnom sadržaju ili datoteci i poduzima radnje ako se pronađe bilo koje podudaranje. Kako možete koristiti naredbu i skriptu awk, prikazano je u ovom vodiču pomoću 20 korisnih primjera.
Sadržaj:
- awk s printf
- awk podijeliti na bijeli prostor
- awk za promjenu graničnika
- awk s podacima razdvojenim karticama
- awk s csv podacima
- awk regex
- regularni izraz neosjetljiv na velika i mala slova
- awk s varijablom nf (broj polja)
- awk gensub () funkcija
- awk s funkcijom rand ()
- awk korisnički definirana funkcija
- awk ako
- awk varijable
- awk nizovi
- awk petlja
- awk za ispis prvog stupca
- awk za ispis zadnjeg stupca
- awk s grepom
- awk s bash datotekom skripte
- awk sa sed
Korištenje awka s printfom
printf () funkcija koristi se za formatiranje bilo kojeg izlaza u većini programskih jezika. Ovu funkciju možete koristiti s awk naredba za generiranje različitih vrsta formatiranih izlaza. naredba awk koja se uglavnom koristi za bilo koju tekstualnu datoteku. Stvorite tekstualnu datoteku s imenom zaposlenik.txt sa sadržajem navedenim u nastavku gdje su polja odvojena tabulatorom ('\ t').
zaposlenik.txt
1001 Ivan sena 400001002 Jafar Iqbal 60000
1003 Meher Nigar 30000
1004 Jonny Liver 70000
Sljedeća naredba awk očitat će podatke iz zaposlenik.txt datoteka redak po redak i ispišite prvu datoteku nakon formatiranja. Evo, "% 10s \ n”Znači da će izlaz imati 10 znakova. Ako je vrijednost rezultata manja od 10 znakova, razmaci će se dodati ispred vrijednosti.
$ awk 'printf "% 10s \ n", $ 1' zaposlenik.txtIzlaz:
Idite na Sadržaj
awk podijeliti na bijeli prostor
Zadani razdjelnik riječi ili polja za razdvajanje bilo kojeg teksta je razmak. Naredba awk može uzeti tekstnu vrijednost kao ulaz na razne načine. Ulazni tekst je proslijeđen iz jeka naredba u sljedećem primjeru. Tekst, 'Volim programirati'bit će podijeljeno prema zadanom razdjelniku, prostor, a treća će se riječ ispisati kao izlaz.
$ echo 'Volim programirati' | awk 'ispis $ 3'Izlaz:
Idite na Sadržaj
awk za promjenu graničnika
Naredba awk može se koristiti za promjenu graničnika za bilo koji sadržaj datoteke. Pretpostavimo da imate tekstualnu datoteku s imenom telefon.txt sa sljedećim sadržajem gdje se ':' koristi kao odvajač polja sadržaja datoteke.
telefon.txt
+123: 334: 889: 778+880: 1855: 456: 907
+9: 7777: 38644: 808
Pokrenite sljedeću naredbu awk za promjenu graničnika, ':' po '-' na sadržaj datoteke, telefon.txt.
$ mačka telefon.txt$ awk '$ 1 = $ 1' FS = ":" OFS = "-" telefon.txt
Izlaz:
Idite na Sadržaj
awk s podacima razdvojenim karticama
Naredba awk ima mnogo ugrađenih varijabli koje se koriste za čitanje teksta na različite načine. Dvoje od njih jesu FS i OFS. FS je separator polja za unos i OFS je varijabla separatora izlaznog polja. Upotreba ovih varijabli prikazana je u ovom odjeljku. Stvoriti tab odvojena datoteka s imenom ulazni.txt sa sljedećim sadržajem za testiranje upotrebe FS i OFS varijable.
Ulazni.txt
Klijentski skriptni jezikSkriptni jezik na poslužitelju
Poslužitelj baze podataka
Web poslužitelj
Korištenje FS varijable s karticom
Sljedeća naredba podijelit će svaki redak ulazni.txt datoteku na temelju kartice ('\ t') i ispišite prvo polje svakog retka.
$ awk 'print $ 1' FS = '\ t' unos.txtIzlaz:
Korištenje OFS varijable s karticom
Sljedeća naredba awk ispisat će datoteku 9th i 5th polja od 'ls -l' izlaz naredbe s separatorom kartica nakon ispisa naslova stupca “Ime"I"Veličina". Ovdje, OFS varijabla koristi se za formatiranje rezultata na kartici.
$ ls -l$ ls -l | awk -v OFS = '\ t' 'POČINITE printf "% s \ t% s \ n", "Ime", "Veličina" print $ 9, $ 5'
Izlaz:
Idite na Sadržaj
awk s CSV podacima
Sadržaj bilo koje CSV datoteke može se raščlaniti na više načina pomoću naredbe awk. Stvorite CSV datoteku pod nazivom 'kupac.csv'Sa sljedećim sadržajem za primjenu naredbe awk.
kupac.txt
Id, ime, e-pošta, telefon1, Sophia, [zaštićena e-poštom], (862) 478-7263
2, Amelia, [zaštićena e-poštom], (530) 764-8000
3, Emma, [zaštićena e-poštom], (542) 986-2390
Čitanje jednog polja CSV datoteke
'-F' opcija se koristi s naredbom awk za postavljanje graničnika za razdvajanje svakog retka datoteke. Sljedeća naredba awk ispisat će datoteku Ime polje od kupac.csv datoteka.
$ mačka kupac.csv$ awk -F "," "print $ 2 'kupac.csv
Izlaz:
Čitanje više polja kombiniranjem s drugim tekstom
Sljedeća naredba ispisat će tri polja kupac.csv kombiniranjem teksta naslova, Ime, e-pošta i telefon. Prvi redak kupac.csv datoteka sadrži naslov svakog polja. NR varijabla sadrži broj retka datoteke kada naredba awk raščlanjuje datoteku. U ovom primjeru, NR varijabla koristi se za izostavljanje prvog retka datoteke. Izlaz će prikazati 2nd, 3rd i 4th polja svih redaka osim prvog retka.
$ awk -F "," 'NR> 1 print "Ime:" $ 2 ", E-pošta:" $ 3 ", Telefon:" $ 4 "kupac.csvIzlaz:
Čitanje CSV datoteke pomoću awk skripte
skripta awk može se izvršiti pokretanjem datoteke awk. Kako možete stvoriti awk datoteku i pokrenuti datoteku prikazano je u ovom primjeru. Stvorite datoteku s imenom awkcsv.awk sa sljedećim kodom. POČETI Ključna riječ koristi se u skripti za informiranje awk naredbe za izvršavanje skripte datoteke POČETI dio prije izvršavanja ostalih zadataka. Ovdje, separator polja (FS) koristi se za definiranje razdjelnika razdvajanja i 2nd i 1sv polja će se ispisivati prema formatu koji se koristi u funkciji printf ().
awkcsv.awkPOČNITE FS = "," printf "% 5s (% s) \ n", $ 2, $ 1
Trčanje awkcsv.awk datoteka sa sadržajem kupac.csv datoteku slijedećom naredbom.
$ awk -f awkcsv.awk kupac.csvIzlaz:
Idite na Sadržaj
awk regex
Regularni izraz je obrazac koji se koristi za pretraživanje bilo kojeg niza u tekstu. Različite vrste kompliciranih zadataka pretraživanja i zamjene mogu se izvršiti vrlo jednostavno pomoću regularnog izraza. U ovom su odjeljku prikazane neke jednostavne upotrebe regularnog izraza s naredbom awk.
Podudarni skup znakovaSljedeća naredba odgovarat će riječi Budala ili bool ili Super s ulaznim nizom i ispiši ako riječ nađe. Ovdje, Lutka neće odgovarati i neće se ispisati.
$ printf "Budala \ nKul \ nLutka \ nbool" | awk '/ [FbC] ool /'Izlaz:
Pretraživanje niza na početku retka
'^' simbol se koristi u regularnom izrazu za pretraživanje bilo kojeg uzorka na početku retka. 'Linux ' riječ će se tražiti na početku svakog retka teksta u sljedećem primjeru. Ovdje dva retka započinju tekstom, 'Linux'i ta dva retka bit će prikazana u izlazu.
$ echo -e "Linux je besplatan za upotrebu \ n To je softver otvorenog koda \ nLinuxHint jepopularna web lokacija na blogu "| awk '/ ^ Linux /'
Izlaz:
Pretraživanje niza na kraju retka
'$' simbol se koristi u regularnom izrazu za pretraživanje bilo kojeg uzorka na kraju svakog retka teksta. 'Skripta'riječ se traži u sljedećem primjeru. Ovdje dva retka sadrže riječ, Skripta na kraju retka.
$ echo -e "PHP skripta \ nJavaScript \ nVizualno programiranje" | awk '/ skripta $ /'Izlaz:
Traženje izostavljanjem određenog skupa znakova
'^' Simbol označava početak teksta kada se koristi ispred bilo kojeg uzorka niza ('/ ^… /') ili prije bilo kojeg skupa znakova koji je deklarirao ^ […]. Ako je '^' simbol se koristi unutar treće zagrade, [^ ...], tada će definirani skup znakova unutar zagrade biti izostavljen u vrijeme pretraživanja. Sljedeća naredba pretražit će bilo koju riječ koja ne započinje "F" ali završava s 'ool'. Super i bool bit će tiskani prema uzorku i tekstualnim podacima.
$ printf "Budala \ nKul \ nLutka \ nbool" | awk '/ [^ F] ool /'Izlaz:
Idite na Sadržaj
awk neosjetljivi regex
Prema zadanim postavkama regularni izraz pretražuje velika i mala slova prilikom pretraživanja bilo kojeg uzorka u nizu. Pretraživanje bez velikih i malih slova može se izvršiti naredbom awk s regularnim izrazom. U slijedećem primjeru, spustiti() funkcija koristi se za pretragu bez osjetljivosti na mala i velika slova. Ovdje će se prva riječ svakog retka ulaznog teksta pretvoriti u mala slova pomoću spustiti() funkcija i podudaranje s uzorkom regularnog izraza. toupper () U tu se svrhu može koristiti i funkcija, u ovom slučaju obrazac mora definirati sve veliko slovo. Tekst definiran u sljedećem primjeru sadrži riječ za pretraživanje, 'mreža'u dva retka koja će se ispisati kao izlaz.
$ echo -e "Web dizajn \ nrazvoj web \ nOkvir" | awk 'tolower ($ 0) ~ / ^ web /;'Izlaz:
Idite na Sadržaj
awk s varijablom NF (broj polja)
NF je ugrađena varijabla naredbe awk koja se koristi za brojanje ukupnog broja polja u svakom retku ulaznog teksta. Stvorite bilo koju tekstualnu datoteku s više redaka i više riječi. ulaz.txt ovdje se koristi datoteka koja je stvorena u prethodnom primjeru.
Korištenje NF-a iz naredbenog retka
Ovdje se prva naredba koristi za prikaz sadržaja ulazni.txt datoteka i druga naredba koristi se za prikaz ukupnog broja polja u svakom retku datoteke pomoću NF varijabilna.
$ mačka ulaz.txt$ awk 'print NF' ulaz.txt
Izlaz:
Korištenje NF-a u awk datoteci
Stvorite awk datoteku s imenom računati.awk sa skriptom danim u nastavku. Kada se ova skripta izvrši s bilo kojim tekstualnim podacima, tada će se svaki izlazni sadržaj s ukupnim poljima ispisati kao izlaz.
računati.awk
ispiši $ 0ispis "[Ukupno polja:" NF "]"
Pokrenite skriptu prema sljedećoj naredbi.
$ awk -f count.awk ulaz.txtIzlaz:
Idite na Sadržaj
awk gensub () funkcija
getsub () je funkcija supstitucije koja se koristi za pretraživanje niza na temelju određenog graničnika ili uzorka regularnog izraza. Ova je funkcija definirana u 'budala' paket koji nije instaliran prema zadanim postavkama. Sintaksa ove funkcije dana je u nastavku. Prvi parametar sadrži obrazac regularnog izraza ili graničnik pretraživanja, Drugi parametar sadrži zamjenski tekst, treći parametar označava kako će se tražiti, a posljednji parametar sadrži tekst u kojem će se primijeniti ova funkcija.
Sintaksa:
gensub (regularni izraz, zamjena, kako [, cilj])Za instalaciju pokrenite sljedeću naredbu budala paket za upotrebu getsub () funkcija s naredbom awk.
$ sudo apt-get install gawkStvorite tekstualnu datoteku pod nazivom 'prodajne informacije.txt'sa sljedećim sadržajem za vježbanje ovog primjera. Ovdje su polja odvojena karticom.
prodajne informacije.txt
Pon 700000Uto 800000
Sri 750000
Četvrtak 200000
Pet 430000
Sub 820000
Pokrenite sljedeću naredbu za čitanje numeričkih polja datoteke prodajne informacije.txt arhivirajte i ispišite ukupan iznos cijele prodaje. Ovdje treći parametar, 'G' označava globalno pretraživanje. To znači da će se obrazac pretraživati u punom sadržaju datoteke.
$ awk 'x = gensub ("\ t", "", "G", 2 USD); printf x "+" END print 0 'prodajne informacije.txt | bc -lIzlaz:
Idite na Sadržaj
awk s funkcijom rand ()
rand () funkcija se koristi za generiranje bilo kojeg slučajnog broja većeg od 0 i manjeg od 1. Dakle, uvijek će generirati razlomljeni broj manji od 1. Sljedeća naredba će generirati razlomak slučajnog broja i pomnožiti vrijednost s 10 da bi se dobio broj veći od 1. Za primjenu funkcije printf () ispisat će se razlomak s dvije znamenke nakon decimalne točke. Ako sljedeću naredbu pokrenete više puta, svaki put ćete dobiti drugačiji izlaz.
$ awk 'BEGIN printf "Broj je =%.2f \ n ", rand () * 10 'Izlaz:
Idite na Sadržaj
awk korisnički definirana funkcija
Sve funkcije koje su korištene u prethodnim primjerima su ugrađene funkcije. Ali u svojoj awk skripti možete proglasiti korisnički definiranu funkciju za obavljanje bilo kojeg određenog zadatka. Pretpostavimo da želite stvoriti prilagođenu funkciju za izračunavanje površine pravokutnika. Da biste izvršili ovaj zadatak, stvorite datoteku pod nazivom 'područje.awk'sa sljedećom skriptom. U ovom primjeru, korisnički definirana funkcija imenovana područje () je deklariran u skripti koja izračunava površinu na temelju ulaznih parametara i vraća vrijednost površine. getline Ovdje se koristi naredba za preuzimanje podataka od korisnika.
područje.awk
# Izračunaj površinupodručje funkcije (visina, širina)
povratna visina * širina
# Pokreće izvršenje
POČINI
print "Unesite vrijednost visine:"
getline h < "-"
print "Unesite vrijednost širine:"
getline w < "-"
ispis "Area =" područje (v, š)
Pokrenite skriptu.
$ awk -f područje.awkIzlaz:
Idite na Sadržaj
awk ako primjer
awk podržava uvjetne izjave poput ostalih standardnih programskih jezika. Tri su vrste if izjava prikazane u ovom odjeljku pomoću tri primjera. Stvorite tekstualnu datoteku s imenom predmeta.txt sa sljedećim sadržajem.
predmeta.txt
HDD Samsung 100 dolaraMiš A4Tech
Pisač HP 200 dolara
Jednostavan ako je primjer:
on će sljedeću naredbu pročitati sadržaj predmeta.txt datoteku i provjerite 3rd vrijednost polja u svakom retku. Ako je vrijednost prazna, ispisat će poruku pogreške s brojem retka.
$ awk 'if ($ 3 == "") print "Polje s cijenom nedostaje u stavkama" NR ".txtIzlaz:
primjer ako:
Sljedeća naredba ispisat će cijenu predmeta ako je 3rd polje postoji u retku, inače će ispisati poruku o pogrešci.
$ awk 'if ($ 3 == "") print "Polje s cijenom nedostaje"inače print "cijena artikla je" $ 3 stavki.txt
Izlaz:
primjer ako-drugo-ako:
Kad se sljedeća naredba izvrši s terminala, tada će uzeti unos od korisnika. Ulazna vrijednost uspoređivat će se sa svakim uvjetom if dok uvjet nije istinit. Ako bilo koji uvjet postane istinit, ispisat će odgovarajuću ocjenu. Ako se ulazna vrijednost ne podudara ni s jednim uvjetom, ispis neće uspjeti.
$ awk 'BEGIN ispis "Unesite oznaku:"oznaka getline < "-"
if (oznaka> = 90) ispisati "A +"
inače ako (oznaka> = 80) ispiše "A"
inače ako (oznaka> = 70) ispiše "B +"
inače ispiši "Fail" '
Izlaz:
Idite na Sadržaj
awk varijable
Deklaracija varijable awk slična je deklaraciji varijable ljuske. Razlika je u očitavanju vrijednosti varijable. Simbol '$' koristi se s imenom varijable za varijablu ljuske za čitanje vrijednosti. Ali nema potrebe za korištenjem '$' s awk varijablom za čitanje vrijednosti.
Korištenje jednostavne varijable:
Sljedeća naredba deklarirat će varijablu imenovanu 'web mjesto' a toj je varijabli dodijeljena vrijednost niza. Vrijednost varijable ispisuje se u sljedećem izrazu.
$ awk 'BEGIN site = "LinuxHint.com "; mjesto za ispis 'Izlaz:
Korištenje varijable za dohvaćanje podataka iz datoteke
Sljedeća naredba će pretražiti riječ 'Pisač' u spisu predmeta.txt. Ako bilo koji redak datoteke započinje s »Pisač'tada će pohraniti vrijednost 1sv, 2nd i 3rd polja u tri varijable. Ime i cijena ispisat će se varijable.
$ awk '/ Printer / name = $ 1; brand = $ 2; price = $ 3; print "item name =" name;ispisati "item price =" price 'stavke.txt
Izlaz:
Idite na Sadržaj
awk nizovi
Numerički i pridruženi nizovi mogu se koristiti u awk-u. Deklaracija varijable niza u awk jednaka je ostalim programskim jezicima. U ovom su odjeljku prikazane neke namjene nizova.
Asocijativni niz:
Indeks polja bit će bilo koji niz za asocijativni niz. U ovom se primjeru deklarira i ispisuje asocijativni niz od tri elementa.
$ awk 'POČINITEbooks ["Web Design"] = "Učenje HTML 5";
books ["Web Programming"] = "PHP i MySQL"
books ["PHP Framework"] = "Učenje Laravel 5"
printf "% s \ n% s \ n% s \ n", knjige ["Web dizajn"], knjige ["Web programiranje"],
knjige ["PHP okvir"] '
Izlaz:
Numerički niz:
Numerički niz od tri elementa deklarira se i ispisuje odvojenim jezičkom.
$ awk 'POČINITEbroj [0] = 80;
broj [1] = 55;
broj [2] = 76;
# ispisati elemente niza
printf "Vrijednosti niza:% d \ t% d \ t% d \ n", broj [0], broj [1], broj [2]; '
Izlaz:
Idite na Sadržaj
awk petlja
Tri vrste petlji podržavaju awk. Uporaba ovih petlji prikazana je ovdje pomoću tri primjera.
Dok petlja:
while petlja koja se koristi u sljedećoj naredbi ponovit će se 5 puta i izaći iz petlje za naredbu break.
$ Awk 'POČINI n = 1; dok (n <= 10) if(n > 5) prekid; ispis n; n ++ 'Izlaz:
Za petlju:
Za petlju koja se koristi u sljedećoj naredbi awk izračunat će zbroj od 1 do 10 i ispisati vrijednost.
$ awk 'POČINI zbroj = 0; za (n = 1; n <= 10; n++) sum=sum+n; print sum 'Izlaz:
Do-while petlja:
petlja za narednu naredbu ispisat će sve parne brojeve od 10 do 5.
$ awk 'POČINI brojač = 10; do if (brojač% 2 == 0) ispis brojača; brojač--dok (brojač> 5) '
Izlaz:
Idite na Sadržaj
awk za ispis prvog stupca
Prvi stupac bilo koje datoteke može se ispisati pomoću varijable $ 1 u awk. Ali ako vrijednost prvog stupca sadrži više riječi, ispisuje se samo prva riječ prvog stupca. Korištenjem određenog graničnika prvi se stupac može pravilno ispisati. Stvorite tekstualnu datoteku s imenom studenti.txt sa sljedećim sadržajem. Ovdje prvi stupac sadrži tekst dviju riječi.
Studenti.txt
Kaniz Fatema 30th šaržaAbir Hossain 35th šarža
Ivan Abraham 40th šarža
Pokrenite naredbu awk bez ikakvih graničnika. Ispisat će se prvi dio prvog stupca.
$ awk 'print $ 1' studenti.txtPokreni naredbu awk sa sljedećim graničnikom. Ispisat će se cijeli dio prvog stupca.
$ awk -F '\\ s \\ s' 'print $ 1' studenti.txtIzlaz:
Idite na Sadržaj
awk za ispis zadnjeg stupca
$ (NF) varijabla može se koristiti za ispis zadnjeg stupca bilo koje datoteke. Sljedeće awk naredbe ispisat će zadnji dio i cijeli dio posljednjeg stupca učenici.txt datoteka.
$ awk 'print $ (NF)' studenti.txt$ awk -F '\\ s \\ s' 'print $ (NF)' studenti.txt
Izlaz:
Idite na Sadržaj
awk s grepom
grep je još jedna korisna naredba Linuxa za pretraživanje sadržaja u datoteci na temelju bilo kojeg regularnog izraza. Kako se naredbe awk i grep mogu koristiti zajedno, prikazano je u sljedećem primjeru. grep naredba se koristi za pretraživanje podataka o ID-u zaposlenika, '1002'iz zaposlenik.txt datoteka. Izlaz naredbe grep poslat će se awk-u kao ulazni podatak. Prebrojavat će se i ispisati 5% bonusa na temelju plaće zaposlenika, '1002 ' naredbom awk.
$ mačka zaposlenik.txt$ grep '1002' zaposlenik.txt | awk -F '\ t' 'print $ 2 "dobit će $" ($ 3 * 5) / 100 "bonus"'
Izlaz:
Idite na Sadržaj
awk s BASH datotekom
Kao i druge Linux naredbe, naredba awk također se može koristiti u BASH skripti. Stvorite tekstualnu datoteku s imenom kupci.txt sa sljedećim sadržajem. Svaki redak ove datoteke sadrži informacije o četiri polja. To su ID kupca, ime, adresa i broj mobitela koji su odvojeni '/'.
kupci.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
Stvorite bash datoteku s imenom item_search.bash sa sljedećom skriptom. Prema ovoj skripti, vrijednost stanja preuzet će se od korisnika i pretražiti u kupci.txt datoteka od grep naredba i proslijeđena naredbi awk kao ulaz. Awk naredba će čitati 2nd i 4th polja svakog retka. Ako se ulazna vrijednost podudara s bilo kojom vrijednošću stanja od kupci.txt datoteka će zatim ispisati kupčevu Ime i broj mobitela, u suprotnom, ispisat će poruku "Nije pronađen nijedan kupac".
item_search.bash
#!/ bin / bashecho "Unesite naziv države:"
čitano stanje
kupci = 'grep "$ state" kupci.txt | awk -F "/" 'print "Korisničko ime:" $ 2, ",
Broj mobitela: "$ 4 ''
if ["$ kupci" != ""]; zatim
odjekuju $ kupci
drugo
echo "Nije pronađen nijedan kupac"
fi
Izvedite sljedeće naredbe za prikaz izlaza.
$ muški kupci.txt$ bash item_search.bash
Izlaz:
Idite na Sadržaj
awk sa sed
Još jedan koristan alat za pretraživanje Linuxa je sed. Ova se naredba može koristiti za pretraživanje i zamjenu teksta bilo koje datoteke. Sljedeći primjer prikazuje upotrebu naredbe awk sa sed naredba. Ovdje će naredba sed pretražiti sva imena zaposlenika koja počinju s 'J'i prelazi na naredbu awk kao ulaz. awk će ispisati zaposlenika Ime i iskaznica nakon formatiranja.
$ mačka zaposlenik.txt$ sed -n '/ J / p' zaposlenik.txt | awk -F '\ t' 'printf "% s (% s) \ n", $ 2, $ 1'
Izlaz:
Idite na Sadržaj
Zaključak:
Naredbu awk možete koristiti za stvaranje različitih vrsta izvješća na temelju bilo kojih tabličnih ili razgraničenih podataka nakon ispravnog filtriranja podataka. Nadam se, moći ćete naučiti kako awk naredba djeluje nakon vježbanja primjera prikazanih u ovom vodiču.