Ahoj

20 príkladov awk

20 príkladov awk

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:

  1. awk s printf
  2. awk sa rozdelí na biele miesto
  3. awk zmeniť oddeľovač
  4. awk s údajmi oddelenými tabulátormi
  5. awk s údajmi vo formáte CSV
  6. awk regex
  7. awk malé a veľké písmená regex
  8. awk s premennou nf (počet polí)
  9. funkcia awk gensub ()
  10. awk s funkciou rand ()
  11. awk užívateľom definovaná funkcia
  12. awk ak
  13. awk premenné
  14. pole awk
  15. awk slučka
  16. awk vytlačiť prvý stĺpec
  17. awk vytlačiť posledný stĺpec
  18. awk s grep
  19. awk so súborom skriptu bash
  20. 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 40000
1002 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.TXT

Vý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 klienta
Skriptovací 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.TXT

Vý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ón
1, 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.csv

Vý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.awk
ZAČÍ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.csv

Vý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á sada

Nasledujú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 je
populá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ť $ 0
print "[Celkom polí:" NF "]"

Spustite skript nasledujúcim príkazom.

$ awk -f počet.awk vstup.TXT

Vý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ť gawk

Vytvorte 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 000
Utorok 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 -l

Vý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 plochu
funkč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ť.awk

Vý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árov
Myš 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.TXT

Vý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ža
Abir 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.TXT

Spustite príkaz awk s nasledujúcim oddeľovačom. Celá časť prvého stĺpca sa vytlačí.

$ awk -F '\\ s \\ s' print $ 1 'študentov.TXT

Vý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-7942
CA5455 / 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 / bash
echo "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.

Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...
Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...