20 príkladov awk
V operačnom systéme Linux existuje veľa obslužných nástrojov na vyhľadávanie a generovanie správ z textových údajov alebo súborov. Užívateľ môže ľahko vykonávať rôzne typy vyhľadávania, nahradzovania a generovania správ pomocou príkazov awk, grep a sed. awk nie je len príkaz. Je to skriptovací jazyk, ktorý je možné použiť z terminálu aj awk súboru. Podporuje premennú, podmienený príkaz, pole, slučky atď. ako iné skriptovacie jazyky. Môže čítať ľubovoľný obsah súboru po riadkoch a separovať polia alebo stĺpce na základe konkrétneho oddeľovača. Podporuje tiež regulárny výraz na hľadanie konkrétneho reťazca v textovom obsahu alebo súbore a pri nájdení zhody vykoná akcie. Ako môžete použiť príkaz a skript awk, je v tomto výučbe zobrazené pomocou 20 užitočných príkladov.
Obsah:
- awk s printf
- awk sa rozdelí na biele miesto
- awk zmeniť oddeľovač
- awk s údajmi oddelenými tabulátormi
- awk s údajmi vo formáte CSV
- awk regex
- awk malé a veľké písmená regex
- awk s premennou nf (počet polí)
- funkcia awk gensub ()
- awk s funkciou rand ()
- awk užívateľom definovaná funkcia
- awk ak
- awk premenné
- pole awk
- awk slučka
- awk vytlačiť prvý stĺpec
- awk vytlačiť posledný stĺpec
- awk s grep
- awk so súborom skriptu bash
- awk so sed
Používanie awk s printf
printf () Táto funkcia sa používa na formátovanie ľubovoľného výstupu vo väčšine programovacích jazykov. Túto funkciu je možné použiť s awk príkaz na generovanie rôznych typov formátovaných výstupov. Príkaz awk sa používa hlavne pre akýkoľvek textový súbor. Vytvorte textový súbor s názvom zamestnanec.TXT s obsahom uvedeným nižšie, kde sú polia oddelené tabulátorom ('\ t').
zamestnanec.TXT
1001 John sena 400001002 Jafar Iqbal 60000
1003 Meher Nigar 30000
1004 Jonnyho pečeň 70000
Nasledujúci príkaz awk načíta údaje z zamestnanec.TXT súbor po riadku a po naformátovaní vytlačiť prvé podanie. Tu, "% 10 s \ n”Znamená, že výstup bude mať 10 znakov. Ak je hodnota výstupu menšia ako 10 znakov, budú pred ňu pridané medzery.
$ awk 'printf "% 10s \ n", $ 1 zamestnanec.TXTVýkon:
Prejdite na obsah
awk sa rozdelí na biele miesto
Predvoleným oddeľovačom slov alebo polí na rozdelenie ľubovoľného textu je prázdne miesto. Príkaz awk môže brať textovú hodnotu ako vstup rôznymi spôsobmi. Vstupný text je odovzdaný z ozvena príkaz v nasledujúcom príklade. Text „Rád programujem"bude rozdelený predvoleným oddeľovačom, priestor, a tretie slovo sa vytlačí ako výstup.
$ echo 'Páči sa mi programovanie' | awk 'print $ 3'Výkon:
Prejdite na obsah
awk zmeniť oddeľovač
Príkaz awk možno použiť na zmenu oddeľovača pre akýkoľvek obsah súboru. Predpokladajme, že máte textový súbor s názvom telefón.TXT s nasledujúcim obsahom, kde sa ako oddeľovač polí obsahu súboru používa znak „:“.
telefón.TXT
+123: 334: 889: 778+880: 1855: 456: 907
+9: 7777: 38644: 808
Spustením nasledujúceho príkazu awk zmeňte oddeľovač, „:“ od „-“ k obsahu spisu, telefón.TXT.
$ mačací telefón.TXT$ awk '$ 1 = $ 1' FS = ":" OFS = "-" telefón.TXT
Výkon:
Prejdite na obsah
awk s údajmi oddelenými tabulátormi
Príkaz awk má veľa zabudovaných premenných, ktoré sa používajú na čítanie textu rôznymi spôsobmi. Dve z nich sú FS a OFS. FS je oddeľovač vstupného poľa a OFS je premenná oddeľovača výstupného poľa. V tejto časti sú uvedené použitia týchto premenných. Vytvor tab oddelený súbor s názvom vstup.TXT s nasledujúcim obsahom na testovanie použitia servera FS a OFS premenné.
Vstup.TXT
Skriptovací jazyk na strane klientaSkriptovací jazyk na strane servera
Databázový server
Webový server
Použitie premennej FS s tab
Nasledujúci príkaz rozdelí každý riadok vstup.TXT súbor založený na tabulátore ('\ t') a vytlačiť prvé pole každého riadku.
$ awk 'print $ 1' FS = '\ t' vstup.TXTVýkon:
Použitie premennej OFS s tab
Nasledujúci príkaz awk vytlačí súbor 9th a 5th polia „ls -l“ výstup príkazu s oddeľovačom tabulátorov po vytlačení názvu stĺpca “názov“A„Veľkosť“. Tu, OFS premenná slúži na formátovanie výstupu záložkou.
$ ls -l$ ls -l | awk -v OFS = '\ t' 'ZAČAŤ printf "% s \ t% s \ n", "meno", "veľkosť" tlačiť 9 $, 5 $'
Výkon:
Prejdite na obsah
awk s dátami CSV
Obsah ľubovoľného súboru CSV možno analyzovať viacerými spôsobmi pomocou príkazu awk. Vytvorte súbor CSV s názvom 'zákazník.csv'S nasledujúcim obsahom na použitie príkazu awk.
zákazník.TXT
Id, meno, e-mail, telefón1, Sophia, [email protected], (862) 478-7263
2, Amelia, [chránený e-mailom], (530) 764-8000
3, Emma, [chránený e-mailom], (542) 986-2390
Čítanie jedného poľa súboru CSV
„-F“ voľba sa používa s príkazom awk na nastavenie oddeľovača pre rozdelenie každého riadku súboru. Nasledujúci príkaz awk vytlačí súbor názov oblasť zákazník.csv spis.
$ mačka zákazníka.csv$ awk -F "," 'print $ 2' zákazník.csv
Výkon:
Čítanie viacerých polí kombináciou s iným textom
Nasledujúci príkaz vytlačí tri polia zákazník.csv kombináciou textu nadpisu, Meno, e-mail a telefón. Prvý riadok súboru zákazník.csv súbor obsahuje názov každého poľa. NR premenná obsahuje číslo riadku súboru, keď príkaz awk analyzuje súbor. V tomto príklade, NR premenná slúži na vynechanie prvého riadku súboru. Na výstupe bude 2nd, 3rd a 4th polia všetkých riadkov okrem prvého riadku.
$ awk -F "," 'NR> 1 print "Meno:" $ 2 ", e-mail:" $ 3 ", telefón:" $ 4 "zákazník.csvVýkon:
Čítanie súboru CSV pomocou skriptu awk
awk skript je možné spustiť spustením awk súboru. Ako môžete vytvoriť awk súbor a spustiť ho, je uvedený v tomto príklade. Vytvorte súbor s názvom awkcsv.awk s nasledujúcim kódom. ZAČAŤ v skripte sa používa kľúčové slovo na informovanie príkazu awk o vykonaní skriptu súboru ZAČAŤ najskôr časť pred vykonaním ďalších úloh. Tu oddeľovač polí (FS) sa používa na definovanie oddeľovača delenia a 2nd a 1sv polia sa vytlačia podľa formátu použitého vo funkcii printf ().
awkcsv.awkZAČÍNAME FS = "," printf "% 5s (% s) \ n", $ 2, $ 1
Bež awkcsv.awk súbor s obsahom zákazník.csv súbor nasledujúcim príkazom.
$ awk -f awkcsv.awk zákazník.csvVýkon:
Prejdite na obsah
awk regex
Regulárny výraz je vzor, ktorý sa používa na vyhľadávanie ľubovoľného reťazca v texte. Rôzne typy komplikovaných úloh hľadania a nahradenia je možné vykonať veľmi ľahko pomocou regulárneho výrazu. V tejto časti sú zobrazené niektoré jednoduché použitia regulárneho výrazu s príkazom awk.
Zodpovedajúca znaková sadaNasledujúci príkaz sa bude zhodovať so slovom Blázon alebo bool alebo V pohode so vstupným reťazcom a vytlačte, ak sa slovo nájde. Tu, Bábika nebude zodpovedať a nebude sa tlačiť.
$ printf "Fool \ nCool \ nDoll \ nbool" | awk '/ [FbC] ool /'Výkon:
Hľadaný reťazec na začiatku riadku
„^“ symbol sa používa v regulárnom výraze na vyhľadanie ľubovoľného vzoru na začiatku riadku. „Linux ' slovo bude vyhľadané na začiatku každého riadku textu v nasledujúcom príklade. Tu sa textom začínajú dva riadky, „Linux'a tieto dva riadky sa zobrazia na výstupe.
$ echo -e „Linux je zadarmo na použitie \ n Je to open-source softvér \ nLinuxHint jepopulárna blogová stránka "| awk '/ ^ Linux /'
Výkon:
Hľadaný reťazec na konci riadku
'$' symbol sa používa v regulárnom výraze na vyhľadanie ľubovoľného vzoru na konci každého riadku textu. „Scenár'slovo je vyhľadávané v nasledujúcom príklade. Dva riadky tu obsahujú slovo, Scenár na konci riadku.
$ echo -e "Skript PHP \ nJavaScript \ nVizuálne programovanie" | awk '/ Script $ /'Výkon:
Vyhľadávanie vynechaním konkrétnej znakovej sady
„^“ symbol označuje začiatok textu, ak sa použije pred akýmkoľvek vzorom reťazca („/ ^… /“) alebo pred ľubovoľnou znakovou sadou deklarovanou ^ […]. Ak „^“ symbol sa používa vo vnútri tretej zátvorky, [^…], potom bude definovaná znaková sada v zátvorke pri hľadaní vynechaná. Nasledujúci príkaz vyhľadá slovo, ktoré sa nezačína na „F“ ale končiace naool„. V pohode a bool budú vytlačené podľa vzoru a textových údajov.
$ printf "Fool \ nCool \ nDoll \ nbool" | awk '/ [^ F] ool /'Výkon:
Prejdite na obsah
awk malé a veľké písmená regex
Pri hľadaní ľubovoľného vzoru v reťazci regulárny výraz predvolene rozlišuje veľké a malé písmená. Vyhľadávanie malých a veľkých písmen je možné vykonať príkazom awk s regulárnym výrazom. V nasledujúcom príklade, znížiť() Táto funkcia sa používa na vyhľadávanie malých a veľkých písmen. Tu sa prvé slovo každého riadku vstupného textu prevedie na malé písmená pomocou znížiť() funkcie a zhodujú sa so vzorom regulárneho výrazu. toupper () Na tento účel možno použiť aj funkciu, v tomto prípade musí byť vzor definovaný veľkým písmenom. Text definovaný v nasledujúcom príklade obsahuje hľadané slovo, „web'v dvoch riadkoch, ktoré sa vytlačia ako výstup.
$ echo -e "Webdizajn \ nvývoj webu \ nRámovanie" | awk 'tolower ($ 0) ~ / ^ web /;'Výkon:
Prejdite na obsah
awk s premennou NF (počet polí)
NF je zabudovaná premenná príkazu awk, ktorá sa používa na spočítanie celkového počtu polí v každom riadku vstupného textu. Vytvorte ľubovoľný textový súbor s viacerými riadkami a viacerými slovami. vstup.TXT Používa sa tu súbor, ktorý je vytvorený v predchádzajúcom príklade.
Používanie NF z príkazového riadku
Tu sa prvý príkaz používa na zobrazenie obsahu vstup.TXT súbor a druhý príkaz sa používa na zobrazenie celkového počtu polí v každom riadku súboru pomocou NF premenná.
$ vstup pre mačku.TXT$ awk 'print NF' vstup.TXT
Výkon:
Používanie NF v awk súbore
Vytvorte awk súbor s názvom počítať.awk so scenárom uvedeným nižšie. Keď sa tento skript vykoná s ľubovoľnými textovými údajmi, potom sa ako výstup vytlačí každý riadkový obsah s celkovým počtom polí.
počítať.awk
tlačiť $ 0print "[Celkom polí:" NF "]"
Spustite skript nasledujúcim príkazom.
$ awk -f počet.awk vstup.TXTVýkon:
Prejdite na obsah
funkcia awk gensub ()
getsub () je substitučná funkcia, ktorá sa používa na hľadanie reťazca na základe konkrétneho oddeľovača alebo regulárneho výrazu. Táto funkcia je definovaná v „gawk“ balík, ktorý nie je predvolene nainštalovaný. Syntax tejto funkcie je uvedená nižšie. Prvý parameter obsahuje vzor regulárneho výrazu alebo oddeľovač vyhľadávania, druhý parameter obsahuje náhradný text, tretí parameter označuje, ako bude prebiehať vyhľadávanie a posledný parameter obsahuje text, v ktorom bude táto funkcia použitá.
Syntax:
gensub (regexp, replacement, how [, target])Spustite nasledujúci príkaz na inštaláciu civieť balíček na použitie getsub () funkcia s príkazom awk.
$ sudo apt-get nainštalovať gawkVytvorte textový súbor s názvomsalesinfo.TXT„s nasledujúcim obsahom na uskutočnenie tohto príkladu. Tu sú polia oddelené tabulátorom.
salesinfo.TXT
Po 700 000Utorok 800000
St 750000
Št 200 000
Pi 430000
So 820000
Spustením nasledujúceho príkazu prečítajte numerické polia súboru salesinfo.TXT súbor a vytlačiť celkovú sumu predaja. Tretí parameter „G“ tu označuje globálne vyhľadávanie. To znamená, že vzor bude prehľadaný v celom obsahu súboru.
$ awk 'x = gensub ("\ t", "", "G", 2 doláre); printf x "+" END print 0 'salesinfo.txt | bc -lVýkon:
Prejdite na obsah
awk s funkciou rand ()
rand () Funkcia sa používa na vygenerovanie ľubovoľného náhodného čísla väčšieho ako 0 a menšieho ako 1. Vždy teda vygeneruje zlomkové číslo menšie ako 1. Nasledujúci príkaz vygeneruje zlomkové náhodné číslo a vynásobí hodnotu 10, čím získa číslo väčšie ako 1. Zlomkové číslo s dvoma číslicami za desatinnou čiarkou sa vytlačí pre použitie funkcie printf (). Ak nasledujúci príkaz spustíte viackrát, dostanete zakaždým iný výstup.
$ awk 'BEGIN printf "Číslo je =%.2f \ n ", rand () * 10 'Výkon:
Prejdite na obsah
awk užívateľom definovaná funkcia
Všetky funkcie, ktoré sa používajú v predchádzajúcich príkladoch, sú zabudovanými funkciami. Vo svojom skriptu awk však môžete vyhlásiť používateľom definovanú funkciu na vykonanie akejkoľvek konkrétnej úlohy. Predpokladajme, že chcete vytvoriť vlastnú funkciu na výpočet plochy obdĺžnika. Za týmto účelom vytvorte súbor s názvom 'oblasti.awk„s nasledujúcim skriptom. V tomto príklade používateľom definovaná funkcia s názvom oblasť () je deklarovaný v skripte, ktorý vypočítava plochu na základe vstupných parametrov a vráti hodnotu oblasti. getline príkaz sa tu používa na získanie vstupu od používateľa.
oblasti.awk
# Vypočítajte plochufunkčná oblasť (výška, šírka)
návratová výška * šírka
# Spustí vykonávanie
ZAČAŤ
tlač „Zadaj hodnotu výšky:“
getline h < "-"
vytlačiť "Zadajte hodnotu šírky:"
getline w < "-"
vytlačiť oblasť "Plocha =" (v, š)
Spustite skript.
$ awk -f oblasť.awkVýkon:
Prejdite na obsah
awk ak príklad
awk podporuje podmienené vyhlásenia ako iné štandardné programovacie jazyky. V tejto časti sú uvedené tri typy príkazov if pomocou troch príkladov. Vytvorte textový súbor s názvom položky.TXT s nasledujúcim obsahom.
položky.TXT
HDD Samsung 100 dolárovMyš A4Tech
Tlačiareň HP 200 dolárov
Jednoduché, ak príklad:
nasledujúci príkaz prečíta obsah súboru položky.TXT súbor a skontrolujte 3rd hodnota poľa v každom riadku. Ak je hodnota prázdna, vypíše chybové hlásenie s číslom riadku.
$ awk 'if ($ 3 == "") print "V položkách" NR "chýba cenové pole.TXTVýkon:
príklad if-else:
Nasledujúci príkaz vytlačí cenu položky, ak je 3rd pole v riadku existuje, inak vytlačí chybové hlásenie.
$ awk 'if ($ 3 == "") tlač „Chýba cenové pole“else print "cena položky je" $ 3 "položiek.TXT
Výkon:
príklad if-else-if:
Keď sa nasledujúci príkaz vykoná z terminálu, bude brať vstup od používateľa. Vstupná hodnota sa porovná s každou podmienkou if, až kým nebude podmienka pravdivá. Ak sa ktorákoľvek z podmienok stane pravdou, vytlačí sa príslušná známka. Ak sa vstupná hodnota nezhoduje so žiadnou podmienkou, tlač sa zlyhá.
$ awk 'BEGIN tlačiť „Zadajte značku:“známka getline < "-"
if (značka> = 90) vytlačiť „A +“
inak ak (značka> = 80) vytlačiť „A“
inak ak (značka> = 70) vytlačiť „B +“
else print "Fail" '
Výkon:
Prejdite na obsah
awk premenné
Deklarácia premennej awk je podobná deklarácii premennej shellu. Pri čítaní hodnoty premennej je rozdiel. Symbol '$' sa používa s názvom premennej pre premennú prostredia na načítanie hodnoty. Na čítanie hodnoty však nie je potrebné používať znak „$“ s premennou awk.
Pomocou jednoduchej premennej:
Nasledujúci príkaz vyhlási premennú s názvom „web“ a tejto premennej je priradená hodnota reťazca. Hodnota premennej sa vytlačí v nasledujúcom výpise.
$ awk 'BEGIN site = "LinuxHint.com "; tlač stránky 'Výkon:
Používanie premennej na načítanie údajov zo súboru
Nasledujúci príkaz vyhľadá slovo „Tlačiareň“ v spise položky.TXT. Ak niektorý riadok súboru začína na „Tlačiareň'potom uloží hodnotu 1sv, 2nd a 3rd polia do troch premenných. názov a cena premenné sa vytlačia.
$ awk '/ Printer / name = $ 1; brand = $ 2; price = $ 3; print "item name =" name;vypísať položky "item price =" price '.TXT
Výkon:
Prejdite na obsah
pole awk
V awk je možné použiť numerické aj súvisiace polia. Deklarácia premennej poľa v awk je rovnaká ako v iných programovacích jazykoch. Niektoré použitia polí sú uvedené v tejto časti.
Asociatívne pole:
Indexom poľa bude akýkoľvek reťazec pre asociatívne pole. V tomto príklade je deklarované a vytlačené asociatívne pole troch prvkov.
$ awk 'ZAČAŤbooks ["Web Design"] = "Learning HTML 5";
books ["Web Programming"] = "PHP a MySQL"
books ["PHP Framework"] = "Learning Laravel 5"
printf "% s \ n% s \ n% s \ n", knihy ["Webdizajn"], knihy ["Webové programovanie"],
knihy ["PHP Framework"] '
Výkon:
Numerické pole:
Číselné pole troch prvkov je deklarované a vytlačené oddelením tabulátora.
$ awk 'ZAČAŤčíslo [0] = 80;
číslo [1] = 55;
číslo [2] = 76;
# tlačiť prvky poľa
printf "Hodnoty poľa:% d \ t% d \ t% d \ n", číslo [0], číslo [1], číslo [2]; '
Výkon:
Prejdite na obsah
awk slučka
Awk podporuje tri typy slučiek. Použitie týchto slučiek je tu znázornené pomocou troch príkladov.
Zatiaľ čo slučka:
while, ktorá sa používa v nasledujúcom príkaze, bude iterovať päťkrát a opustí príkaz loop for break.
$ Awk 'ZAČIATOK n = 1; while (n <= 10) if(n > 5) zlomiť; tlač n; n ++ 'Výkon:
Pre slučku:
Pre slučku, ktorá sa použije v nasledujúcom príkaze awk, vypočíta súčet od 1 do 10 a vytlačí hodnotu.
$ awk 'BEGIN suma = 0; pre (n = 1; n <= 10; n++) sum=sum+n; print sum 'Výkon:
Slučka do-while:
slučka do-while nasledujúceho príkazu vytlačí všetky párne čísla od 10 do 5.
$ awk 'BEGIN counter = 10; do if (counter% 2 == 0) print counter; pult--while (counter> 5) '
Výkon:
Prejdite na obsah
awk vytlačiť prvý stĺpec
Prvý stĺpec ľubovoľného súboru je možné vytlačiť pomocou premennej $ 1 v awk. Ak ale hodnota prvého stĺpca obsahuje viac slov, vytlačí sa iba prvé slovo prvého stĺpca. Použitím špecifického oddeľovača je možné správne vytlačiť prvý stĺpec. Vytvorte textový súbor s názvom študentov.TXT s nasledujúcim obsahom. Prvý stĺpec obsahuje text dvoch slov.
Študenti.TXT
Kaniz Fatema 30th šaržaAbir Hossain 35th šarža
John Abraham 40th šarža
Spustite príkaz awk bez oddeľovača. Vytlačí sa prvá časť prvého stĺpca.
$ awk 'print $ 1' študenti.TXTSpustite príkaz awk s nasledujúcim oddeľovačom. Celá časť prvého stĺpca sa vytlačí.
$ awk -F '\\ s \\ s' print $ 1 'študentov.TXTVýkon:
Prejdite na obsah
awk vytlačiť posledný stĺpec
$ (NF) premennú je možné použiť na tlač posledného stĺpca ľubovoľného súboru. Nasledujúce príkazy awk vytlačia poslednú časť a celú časť posledného stĺpca súboru študenti.TXT spis.
$ awk 'print $ (NF)' študenti.TXT$ awk -F '\\ s \\ s' print $ (NF) 'študentov.TXT
Výkon:
Prejdite na obsah
awk s grep
grep je ďalší užitočný príkaz systému Linux na vyhľadávanie obsahu v súbore na základe ľubovoľného regulárneho výrazu. Nasledujúci príklad ukazuje, ako možno súčasne používať príkazy awk aj grep. grep príkaz sa používa na vyhľadanie informácií o ID zamestnanca, '1002„od zamestnanec.TXT spis. Výstup príkazu grep sa odošle do awk ako vstupné údaje. 5% bonus sa bude počítať a tlačiť na základe platu ID zamestnanca, “1002 ' príkazom awk.
$ mačací zamestnanec.TXT$ grep zamestnanec '1002'.txt | awk -F '\ t' print $ 2 "získa $" ($ 3 * 5) / 100 "bonus" '
Výkon:
Prejdite na obsah
awk so súborom BASH
Rovnako ako iné príkazy v systéme Linux, aj príkaz awk je možné použiť v skripte BASH. Vytvorte textový súbor s názvom zákazníkov.TXT s nasledujúcim obsahom. Každý riadok tohto súboru obsahuje informácie o štyroch poliach. Jedná sa o ID zákazníka, meno, adresu a mobilné číslo, ktoré sú od seba oddelené „/„.
zákazníkov.TXT
AL4934 / Charles M Brunner / 4838 Beeghley Street, Huntsville, Alabama / 256-671-7942CA5455 / Virginia S Mota / 930 Bassel Street, VALLECITO, Kalifornia / 415-679-5908
IL4855 / Ann A Neale / 1932 Patterson Fork Road, Chicago, Illinois / 773-550-5107
Vytvorte bash súbor s názvom item_search.bash s nasledujúcim skriptom. Podľa tohto skriptu bude hodnota stavu prevzatá od používateľa a vyhľadaná v zákazníkom.TXT podať do grep príkaz a prešiel na príkaz awk ako vstup. Príkaz Awk sa načíta 2nd a 4th polia každého riadku. Ak sa vstupná hodnota zhoduje s ľubovoľnou hodnotou stavu zákazníkov.TXT súbor potom vytlačí zákazníka názov a telefónne číslo, inak vytlačí správu „Nenašiel sa žiadny zákazník“.
item_search.bash
#!/ bin / bashecho "Zadajte názov štátu:"
prečítaný stav
customers = 'grep "$ state" zákazníci.txt | awk -F "/" 'print "Meno zákazníka:" $ 2, ",
Číslo mobilného telefónu: „$ 4“
ak [„$ zákazníci“ != ""]; potom
echo $ zákazníkov
inak
echo "Nenašiel sa žiadny zákazník"
fi
Spustením nasledujúcich príkazov zobrazte výstupy.
$ mačacích zákazníkov.TXT$ bash item_search.bash
Výkon:
Prejdite na obsah
awk so sed
Ďalším užitočným vyhľadávacím nástrojom systému Linux je sed. Tento príkaz je možné použiť na vyhľadávanie aj nahradenie textu ľubovoľného súboru. Nasledujúci príklad ukazuje použitie príkazu awk s sed príkaz. Tu príkaz sed vyhľadá všetky mená zamestnancov, ktoré začínajú na „J'a prechádza na príkaz awk ako vstup. awk vytlačí zamestnanca názov a ID po naformátovaní.
$ mačací zamestnanec.TXT$ sed -n '/ J / p' zamestnanec.txt | awk -F '\ t' printf "% s (% s) \ n", $ 2, $ 1 '
Výkon:
Prejdite na obsah
Záver:
Po správnom filtrovaní údajov môžete pomocou príkazu awk vytvoriť rôzne typy prehľadov na základe akýchkoľvek tabuľkových údajov alebo údajov s oddelenými údajmi. Dúfam, že sa budete môcť naučiť, ako príkaz awk funguje, po precvičení príkladov uvedených v tomto tutoriále.