Awk

20 awk voorbeelden

20 awk voorbeelden

20 awk voorbeelden

Er zijn veel hulpprogramma's in het Linux-besturingssysteem om een ​​rapport te zoeken en te genereren op basis van tekstgegevens of bestanden. De gebruiker kan gemakkelijk vele soorten zoek-, vervangings- en rapportgenererende taken uitvoeren met behulp van awk-, grep- en sed-opdrachten. awk is niet zomaar een commando. Het is een scripttaal die kan worden gebruikt vanuit zowel terminal als awk-bestand. Het ondersteunt de variabele, voorwaardelijke instructie, array, lussen enz. zoals andere scripttalen. Het kan de inhoud van elk bestand regel voor regel lezen en de velden of kolommen scheiden op basis van een specifiek scheidingsteken. Het ondersteunt ook reguliere expressies voor het zoeken naar bepaalde tekenreeksen in de tekstinhoud of het bestand en onderneemt acties als er een overeenkomst wordt gevonden. Hoe u het awk-commando en -script kunt gebruiken, wordt in deze zelfstudie getoond aan de hand van 20 handige voorbeelden.

Inhoud:

  1. awk met printf
  2. awk om te splitsen op witruimte
  3. awk om het scheidingsteken te wijzigen
  4. awk met door tabs gescheiden gegevens
  5. awk met csv-gegevens
  6. awk regex
  7. awk hoofdletterongevoelige regex
  8. awk met nf (aantal velden) variabele
  9. awk gensub() functie
  10. awk met rand() functie
  11. awk door de gebruiker gedefinieerde functie
  12. awk als
  13. awk variabelen variable
  14. awk-arrays
  15. awk loop
  16. awk om de eerste kolom af te drukken
  17. awk om de laatste kolom af te drukken
  18. awk met grep
  19. awk met het bash-scriptbestand
  20. awk met sed

awk gebruiken met printf

printf() functie wordt gebruikt om elke uitvoer in de meeste programmeertalen te formatteren. Deze functie kan worden gebruikt met: awk opdracht om verschillende soorten geformatteerde uitvoer te genereren. awk-opdracht voornamelijk gebruikt voor elk tekstbestand. Maak een tekstbestand met de naam werknemer.tekst met de onderstaande inhoud waar velden zijn gescheiden door tab ('\t').

werknemer.tekst

1001 John sena 40000
1002 Jafar Iqbal   60000
1003 Meher Nigar   30000
1004 Jonny Lever 70000

Het volgende awk-commando leest gegevens uit: werknemer.tekst bestand regel voor regel en druk het eerste bestand af na het formatteren. Hier, "%10s\n” betekent dat de uitvoer 10 tekens lang zal zijn. Als de waarde van de uitvoer minder is dan 10 tekens, worden de spaties vooraan de waarde toegevoegd.

$ awk ' printf  "%10s\n", $1 ' werknemer.tekst

Uitgang:

Ga naar inhoud

awk om te splitsen op witruimte

Het standaardscheidingsteken voor woorden of velden voor het splitsen van tekst is witruimte. awk-opdracht kan op verschillende manieren tekstwaarde als invoer aannemen. De invoertekst wordt doorgegeven van echo commando in het volgende voorbeeld:. De tekst, 'Ik hou van programmeren' wordt standaard gesplitst als scheidingsteken, ruimte, en het derde woord wordt afgedrukt als uitvoer.

$ echo 'Ik hou van programmeren' | awk ' print $3 '

Uitgang:

Ga naar inhoud

awk om het scheidingsteken te wijzigen

awk-opdracht kan worden gebruikt om het scheidingsteken voor elke bestandsinhoud te wijzigen. Stel dat je een tekstbestand hebt met de naam telefoon.tekst met de volgende inhoud waarbij ':' wordt gebruikt als veldscheidingsteken van de bestandsinhoud.

telefoon.tekst

+123:334:889:778
+880:1855:456:907
+9:7777:38644:808

Voer de volgende awk-opdracht uit om het scheidingsteken te wijzigen:, ':' door '-' naar de inhoud van het bestand, telefoon.tekst.

$ kattentelefoon.tekst
$ awk '$1=$1' FS=":" OFS="-" telefoon.tekst

Uitgang:

Ga naar inhoud

awk met door tabs gescheiden gegevens

awk-opdracht heeft veel ingebouwde variabelen die worden gebruikt om de tekst op verschillende manieren te lezen. Twee van hen zijn FS en OFS. FS is het invoerveld scheidingsteken en OFS is uitvoerveld scheidingsteken variabelen. Het gebruik van deze variabelen wordt in deze sectie getoond. Maak een tabblad gescheiden bestand met de naam invoer.tekst met de volgende inhoud om het gebruik van te testen FS en OFS variabelen.

Invoer.tekst

Scripttaal aan clientzijde
Scripttaal aan serverzijde
Database server
Web Server

FS-variabele gebruiken met tab

De volgende opdracht splitst elke regel van invoer.tekst bestand op basis van het tabblad ('\t') en druk het eerste veld van elke regel af.

$ awk ' print $1 ' FS='\t' invoer.tekst

Uitgang:

OFS-variabele gebruiken met tab

Het volgende awk-commando zal de . afdrukken 9dit en 5dit velden van 'ls-l' opdrachtuitvoer met tabscheidingsteken na het afdrukken van de kolomtitel "Naam” en “Grootte”. Hier, OFS variabele wordt gebruikt om de uitvoer op te maken met een tab.

$ ls -l
$ ls -l | awk -v OFS='\t' 'BEGIN printf "%s\t%s\n", "Naam", "Grootte" print $9,$5'

Uitgang:

Ga naar inhoud

awk met CSV-gegevens

De inhoud van elk CSV-bestand kan op meerdere manieren worden geparseerd met het awk-commando. Maak een CSV-bestand met de naam 'klant.csv'  met de volgende inhoud om de opdracht awk toe te passen.

klant.tekst

ID, naam, e-mail, telefoon
1, Sophia, [e-mail beveiligd], (862) 478-7263
2, Amelia, [e-mail beveiligd], (530) 764-8000
3, Emma, ​​[e-mail beveiligd], (542) 986-2390

Een enkel veld van het CSV-bestand lezen

'-F' optie wordt gebruikt met de opdracht awk om het scheidingsteken in te stellen voor het splitsen van elke regel van het bestand. Het volgende awk-commando zal de . afdrukken naam gebied van de klant.csv het dossier.

$ kat klant.csv
$ awk -F "," 'print $2' klant.csv

Uitgang:

Meerdere velden lezen door te combineren met andere tekst

De volgende opdracht drukt drie velden af ​​van: klant.csv door titeltekst te combineren, Naam, e-mail en telefoon. De eerste regel van de klant.csv bestand bevat de titel van elk veld. NR variabele bevat het regelnummer van het bestand wanneer de opdracht awk het bestand parseert par. In dit voorbeeld, de NR variabele wordt gebruikt om de eerste regel van het bestand weg te laten. De uitvoer toont de 2nd, 3rd en 4dit velden van alle regels behalve de eerste regel.

$ awk  -F "," 'NR>1 print "Name:" $2 ", Email:" $3 ", Phone:" $4' klant.csv

Uitgang:

CSV-bestand lezen met een awk-script

awk-script kan worden uitgevoerd door awk-bestand uit te voeren. Hoe u een awk-bestand kunt maken en het bestand kunt uitvoeren, wordt in dit voorbeeld getoond. Maak een bestand met de naam awkcsv.awk met de volgende code:. BEGINNEN trefwoord wordt in het script gebruikt om het awk-commando te informeren om het script van de . uit te voeren BEGINNEN eerst deel voordat u andere taken uitvoert. Hier, veldscheidingsteken (FS) wordt gebruikt om scheidingsteken en 2 te definiërennd en 1st velden worden afgedrukt volgens het formaat dat wordt gebruikt in de functie printf().

awkcsv.awk
BEGIN FS = "," printf "%5s(%s)\n", $2,$1

Rennen awkcsv.awk bestand met de inhoud van de klant.csv bestand door de volgende opdracht:.

$ awk -f awkcsv.awk klant.csv

Uitgang:

Ga naar inhoud

awk regex

De reguliere expressie is een patroon dat wordt gebruikt om elke tekenreeks in een tekst te zoeken. Verschillende soorten gecompliceerde zoek- en vervangtaken kunnen heel gemakkelijk worden gedaan door de reguliere expressie te gebruiken. Enkele eenvoudige toepassingen van de reguliere expressie met het awk-commando worden in deze sectie getoond.

Overeenkomende tekenset

Het volgende commando komt overeen met het woord Dwaas of dwaas of Stoer met de invoerstring en print als het woord gevonden wordt. Hier, Pop zal niet overeenkomen en niet afdrukken.

$ printf "Fool\nCool\nDoll\nbool" | awk '/[FbC]ool/'

Uitgang:

String zoeken aan het begin van de regel

'^' symbool wordt gebruikt in de reguliere expressie om elk patroon aan het begin van de regel te zoeken. 'Linux' woord wordt gezocht aan het begin van elke regel van de tekst in het volgende voorbeeld. Hier beginnen twee regels met de tekst, 'Linux'' en die twee regels worden weergegeven in de uitvoer.

$ echo -e "Linux is gratis te gebruiken\n Het is open source software\nLinuxHint is
een populaire blogsite" | awk '/^Linux/'

Uitgang:

String aan het einde van de regel zoeken

'$' symbool wordt gebruikt in de reguliere expressie om elk patroon aan het einde van elke regel van de tekst te zoeken. 'Script' woord wordt gezocht in het volgende voorbeeld. Hier bevatten twee regels het woord, Script aan het einde van de lijn.

$ echo -e "PHP-script\nJavaScript\nVisuele programmering" | awk '/Script$/'

Uitgang:

Zoeken door een bepaalde tekenset weg te laten

'^' symbool geeft het begin van de tekst aan wanneer deze voor een tekenreekspatroon wordt gebruikt ('/^… /') of voor een tekenset gedeclareerd door ^[… ]. Als de '^' symbool wordt gebruikt binnen het derde haakje, [^… ]  dan wordt de gedefinieerde tekenset binnen het haakje weggelaten op het moment van zoeken. De volgende opdracht zoekt naar elk woord dat niet begint met 'F' maar eindigend met 'ool'. Stoer en bool wordt afgedrukt volgens het patroon en de tekstgegevens;.

$ printf "Fool\nCool\nDoll\nbool" | awk '/[^F]ool/'

Uitgang:

Ga naar inhoud

awk hoofdletterongevoelige regex

Standaard zoekt reguliere expressie hoofdlettergevoelig bij het zoeken naar een patroon in de tekenreeks. Hoofdletterongevoelig zoeken kan worden gedaan met het awk-commando met de reguliere expressie. In het volgende voorbeeld:, verlagen() functie wordt gebruikt om hoofdletterongevoelig te zoeken. Hier wordt het eerste woord van elke regel van de invoertekst geconverteerd naar kleine letters met behulp van verlagen() functie en match met het reguliere expressiepatroon. topper() functie kan ook voor dit doel worden gebruikt, in dit geval moet het patroon worden gedefinieerd met een hoofdletter. De tekst die in het volgende voorbeeld is gedefinieerd, bevat het zoekwoord, 'web' in twee regels die als uitvoer worden afgedrukt.

$ echo -e "Webdesign\nwebontwikkeling\nFramework" | awk 'tolower($0) ~ /^web/;'

Uitgang:

Ga naar inhoud

awk met NF (aantal velden) variabele

NF is een ingebouwde variabele van de awk-opdracht die wordt gebruikt om het totale aantal velden in elke regel van de invoertekst te tellen. Maak een tekstbestand met meerdere regels en meerdere woorden. de invoer.tekst hier wordt het bestand gebruikt dat in het vorige voorbeeld is gemaakt.

NF gebruiken vanaf de opdrachtregel

Hier wordt het eerste commando gebruikt om de inhoud van . weer te geven invoer.tekst bestand en het tweede commando wordt gebruikt om het totale aantal velden in elke regel van het bestand weer te geven met NF variabele.

$ katteninvoer.tekst
$ awk 'print NF' invoer.tekst

Uitgang:

NF gebruiken in awk-bestand

Maak een awk-bestand met de naam tellen.awk met het onderstaande script. Wanneer dit script wordt uitgevoerd met tekstgegevens, wordt elke regelinhoud met totale velden afgedrukt als uitvoer.

tellen.awk

druk $0 af
print "[Totaal aantal velden:" NF "]"

Voer het script uit met de volgende opdracht:.

$ awk -f tellen.awk invoer.tekst

Uitgang:

Ga naar inhoud

awk gensub() functie

getsub() is een vervangingsfunctie die wordt gebruikt om strings te zoeken op basis van een bepaald scheidingsteken of patroon voor reguliere expressies. Deze functie is gedefinieerd in  'gaap' pakket dat niet standaard is geïnstalleerd. De syntaxis voor deze functie wordt hieronder gegeven:. De eerste parameter bevat het reguliere expressiepatroon of zoekscheidingsteken, de tweede parameter bevat de vervangende tekst, de derde parameter geeft aan hoe de zoekopdracht zal worden uitgevoerd en de laatste parameter bevat de tekst waarin deze functie zal worden toegepast.

Syntaxis:

gensub(regexp, vervanging, hoe [, doel])

Voer de volgende opdracht uit om te installeren: gawk pakket voor gebruik: getsub() functie met awk commando.

$ sudo apt-get install gawk

Maak een tekstbestand met de naam 'verkoopinfo.tekst' met de volgende inhoud om dit voorbeeld te oefenen. Hier worden de velden gescheiden door een tab.

verkoopinfo.tekst

ma 700000
di       800000
wo 750000
Do       200000
vr 430000
Zat 820000

Voer de volgende opdracht uit om de numerieke velden van de . te lezen verkoopinfo.tekst bestand en print het totaal van alle verkoopbedragen. Hier geeft de derde parameter, 'G', de globale zoekopdracht aan. Dat betekent dat het patroon in de volledige inhoud van het bestand wordt doorzocht.

$ awk ' x=gensub("\t","","G",$2); printf x "+" END print 0 ' salesinfo.txt | bc -l

Uitgang:

Ga naar inhoud

awk met rand() functie

rand() functie wordt gebruikt om een ​​willekeurig getal groter dan 0 en kleiner dan 1 te genereren. Het genereert dus altijd een fractioneel getal kleiner dan 1. De volgende opdracht genereert een fractioneel willekeurig getal en vermenigvuldigt de waarde met 10 om een ​​getal groter dan 1 te krijgen. Een fractioneel getal met twee cijfers achter de komma wordt afgedrukt voor het toepassen van de printf()-functie. Als u de volgende opdracht meerdere keren uitvoert, krijgt u elke keer een andere uitvoer.

$ awk 'BEGIN printf "Getal is =%.2f\n" , rand()*10'

Uitgang:

Ga naar inhoud

awk door de gebruiker gedefinieerde functie

Alle functies die in de vorige voorbeelden zijn gebruikt, zijn ingebouwde functies. Maar u kunt een door de gebruiker gedefinieerde functie in uw awk-script declareren om een ​​bepaalde taak uit te voeren.  Stel dat u een aangepaste functie wilt maken om de oppervlakte van een rechthoek te berekenen. Om deze taak uit te voeren, maakt u een bestand met de naam 'Oppervlakte.awk' met het volgende script. In dit voorbeeld is een door de gebruiker gedefinieerde functie met de naam Oppervlakte() wordt gedeclareerd in het script dat de oppervlakte berekent op basis van de invoerparameters en de oppervlaktewaarde retourneert. getline commando wordt hier gebruikt om input van de gebruiker te krijgen.

Oppervlakte.awk

# Bereken oppervlakte
functiegebied (hoogte, breedte)
retour hoogte*breedte

# Start uitvoering
BEGINNEN
print "Vul de waarde van de hoogte in:"
getline h < "-"
print "Vul de waarde van de breedte in:"
getline met < "-"
print "Area = " area(h,w)

Voer het script uit.

$ awk -f gebied.awk

Uitgang:

Ga naar inhoud

awk if voorbeeld

awk ondersteunt voorwaardelijke instructies zoals andere standaard programmeertalen. In deze sectie worden drie soorten if-statements getoond aan de hand van drie voorbeelden. Maak een tekstbestand met de naam artikelen.tekst met de volgende inhoud:.

artikelen.tekst

HDD  Samsung   $ 100
Muis A4Tech
Printer   HP   $200

Eenvoudig als voorbeeld:

het volgende commando zal de inhoud van de . lezen artikelen.tekst bestand en controleer de 3rd veldwaarde in elke regel. Als de waarde leeg is, wordt er een foutbericht afgedrukt met het regelnummer.

$ awk ' if ($3 == "") print "Prijsveld ontbreekt in regel " NR '  items.tekst

Uitgang:

als-anders voorbeeld:

De volgende opdracht drukt de artikelprijs af als de 3rd veld bestaat in de regel, anders wordt er een foutbericht afgedrukt.

$ awk ' if ($3 == "") print "Prijsveld ontbreekt"
anders print 'itemprijs is' $3 '  items.tekst

Uitgang:

if-els-if voorbeeld:

Wanneer de volgende opdracht vanaf de terminal wordt uitgevoerd, is invoer van de gebruiker nodig:. De invoerwaarde wordt vergeleken met elke if-voorwaarde totdat de voorwaarde waar is. Als een voorwaarde waar wordt, wordt het bijbehorende cijfer afgedrukt. Als de invoerwaarde niet overeenkomt met een voorwaarde, wordt het afdrukken mislukt.

$ awk 'BEGIN print "Voer het teken in:"
getline-markering <  "-"
als (teken >= 90) druk "A+" af
anders if (teken >= 80) print "A"
anders if (teken >= 70) print "B+"
anders print "Mislukt" '

Uitgang:

Ga naar inhoud

awk variabelen variable

De declaratie van de variabele awk is vergelijkbaar met de declaratie van de shell-variabele. Er is een verschil in het lezen van de waarde van de variabele. '$'-symbool wordt gebruikt met de variabelenaam voor de shell-variabele om de waarde te lezen. Maar het is niet nodig om '$' te gebruiken met de variabele awk om de waarde te lezen.

Eenvoudige variabele gebruiken:

De volgende opdracht declareert een variabele met de naam 'site' en een tekenreekswaarde wordt toegewezen aan die variabele. De waarde van de variabele wordt afgedrukt in de volgende instructie.

$ awk 'BEGIN site="LinuxHint.com"; print site'

Uitgang:

Een variabele gebruiken om gegevens uit een bestand op te halen

De volgende opdracht zoekt het woord search 'Printer' in het bestand artikelen.tekst. Als een regel van het bestand begint met 'Printer' dan zal het de waarde van store opslaan 1st, 2nd en 3rd velden in drie variabelen. naam en prijs variabelen worden afgedrukt.

$ awk '/Printer/ name=$1;brand=$2;price=$3;print "item name=" name;
print "item price=" price ' items.tekst

Uitgang:

Ga naar inhoud

awk-arrays

Zowel numerieke als bijbehorende arrays kunnen worden gebruikt in awk. Declaratie van arrayvariabelen in awk is hetzelfde als in andere programmeertalen. Sommige toepassingen van arrays worden in deze sectie getoond.

Associatieve matrix: 

De index van de array is een willekeurige tekenreeks voor de associatieve array.  In dit voorbeeld wordt een associatieve array van drie elementen gedeclareerd en afgedrukt.

$ awk 'BEGIN
books["Web Design"] = "Leren HTML 5";
books["Web Programming"] = "PHP en MySQL"
boeken["PHP Framework"]="Laravel 5 leren"
printf "%s\n%s\n%s\n", books["Web Design"],books["Web Programming"],
boeken["PHP Framework"] '

Uitgang:

Numerieke matrix:

Een numerieke reeks van drie elementen wordt gedeclareerd en afgedrukt door tab . te scheiden.

$ awk 'BEGIN
getal [0] = 80;
getal [1] = 55;
getal [2] = 76;

# print array-elementen
printf  "Array-waarden: %d\t%d\t%d\n", getal[0],nummer[1],nummer[2]; '

Uitgang:

Ga naar inhoud

awk loop

Drie soorten lussen worden ondersteund door awk. Het gebruik van deze lussen wordt hier getoond aan de hand van drie voorbeelden.

Herhalingslus:

while-lus die in de volgende opdracht wordt gebruikt, wordt 5 keer herhaald en verlaat de lus voor break-instructie.

$  awk 'BEGIN n = 1; terwijl (n <= 10) if(n > 5) breken; afdrukken n; n++ '

Uitgang:

For loop:

For-lus die in de volgende awk-opdracht wordt gebruikt, berekent de som van 1 tot 10 en drukt de waarde af.

$ awk 'BEGIN sum=0; voor (n = 1; n <= 10; n++) sum=sum+n; print sum '

Uitgang:

Do-while-lus:

een do-while-lus van het volgende commando zal alle even getallen van 10 tot 5 . afdrukken.

$ awk 'BEGIN teller = 10; do if (counter%2 ==0) print teller; tegen--
while (teller > 5) '

Uitgang:

Ga naar inhoud

awk om de eerste kolom af te drukken

De eerste kolom van elk bestand kan worden afgedrukt door de variabele $1 in awk . te gebruiken. Maar als de waarde van de eerste kolom meerdere woorden bevat, wordt alleen het eerste woord van de eerste kolom afgedrukt. Door een specifiek scheidingsteken te gebruiken, kan de eerste kolom correct worden afgedrukt. Maak een tekstbestand met de naam studenten.tekst met de volgende inhoud:. Hier bevat de eerste kolom de tekst van twee woorden.

studenten.tekst

Kaniz Fatema       30dit partij
Abir Hossain       35dit partij
Johannes Abraham       40dit partij

Voer het awk-commando uit zonder enig scheidingsteken. Het eerste deel van de eerste kolom wordt afgedrukt.

$ awk 'print $1' studenten.tekst

Voer de opdracht awk uit met het volgende scheidingsteken:. Het volledige deel van de eerste kolom wordt afgedrukt.

$ awk -F '\\s\\s' 'print $1' studenten.tekst

Uitgang:

Ga naar inhoud

awk om de laatste kolom af te drukken

$(NF) variabele kan worden gebruikt om de laatste kolom van elk bestand af te drukken. De volgende awk-opdrachten zullen het laatste deel en het volledige deel van de laatste kolom van the afdrukken de studenten.tekst het dossier.

$ awk 'print $(NF)' studenten.tekst
$ awk -F '\\s\\s' 'print $(NF)' studenten.tekst

Uitgang:

Ga naar inhoud

awk met grep

grep is een ander handig commando van Linux om inhoud in een bestand te zoeken op basis van een reguliere expressie. Hoe zowel de awk- als de grep-commando's samen kunnen worden gebruikt, wordt in het volgende voorbeeld getoond:. grep commando wordt gebruikt om informatie van de werknemer-ID te zoeken, '1002' van de werknemer.tekst het dossier. De uitvoer van het grep-commando wordt naar awk gestuurd als invoergegevens. 5% bonus wordt geteld en afgedrukt op basis van het salaris van de werknemer-ID, '1002' op awk-commando.

$ kattenmedewerker.tekst
$ grep '1002' medewerker.txt | awk -F '\t' ' print $2 " krijgt $" ($3*5)/100 " bonus"'

Uitgang:

Ga naar inhoud

awk met BASH-bestand

Net als andere Linux-opdrachten, kan de awk-opdracht ook worden gebruikt in een BASH-script. Maak een tekstbestand met de naam klanten.tekst met de volgende inhoud:. Elke regel van dit bestand bevat informatie over vier velden. Dit zijn klant-ID, naam, adres en mobiel nummer, gescheiden door: '/'.

klanten.tekst

AL4934 / Charles M Brunner / 4838 Beeghley Street, Huntsville, Alabama / 256-671-7942
CA5455 / Virginia S Mota / 930 Bassel Street, VALLECITO, Californië / 415-679-5908
IL4855 / Ann A Neale / 1932 Patterson Fork Road, Chicago, Illinois / 773-550-5107

Maak een bash-bestand met de naam item_zoeken.bash met het volgende script. Volgens dit script wordt de statuswaarde van de gebruiker overgenomen en doorzocht in de klanten.tekst bestand door grep commando en doorgegeven aan het awk-commando als invoer. Awk-opdracht zal lezen 2nd en 4dit velden van elke regel. Als de invoerwaarde overeenkomt met een statuswaarde van klanten.tekst bestand, dan zal het die van de klant afdrukken naam en mobiele nummer, anders wordt het bericht "Geen klant gevonden”.

item_zoeken.bash

#!/bin/bash
echo "Voer de naam van de staat in:"
lees staat
klanten='grep "$state" klanten.txt | awk -F "/" 'print "Klantnaam:" $2, ",
Mobiel nr:" $4''
if [ "$klanten" != "" ]; dan
echo $klanten
anders
echo "Geen klant gevonden"
fi

Voer de volgende opdrachten uit om de uitvoer weer te geven:.

$ katten klanten.tekst
$ bash item_search.bash

Uitgang:

Ga naar inhoud

awk met sed

Een ander handig zoekhulpmiddel van Linux is: sed. Deze opdracht kan worden gebruikt voor zowel het zoeken als het vervangen van tekst van elk bestand. Het volgende voorbeeld toont het gebruik van het awk-commando met sed opdracht. Hier zoekt het sed-commando alle namen van werknemers die beginnen met 'J' en gaat door naar het awk-commando als invoer. awk zal werknemer afdrukken naam en ID kaart na opmaak.

$ kattenmedewerker.tekst
$ sed -n '/J/p' werknemer.txt | awk -F '\t' ' printf "%s(%s)\n", $2, $1 '

Uitgang:

Ga naar inhoud

Conclusie:

U kunt de opdracht awk gebruiken om verschillende soorten rapporten te maken op basis van tabellarische of gescheiden gegevens nadat u de gegevens op de juiste manier hebt gefilterd. Hoop, je zult in staat zijn om te leren hoe het awk-commando werkt na het oefenen van de voorbeelden die in deze tutorial worden getoond.

Met WinMouse kunt u de beweging van de muisaanwijzer op Windows-pc aanpassen en verbeteren
Als u de standaardfuncties van uw muisaanwijzer wilt verbeteren, gebruik dan freeware WinMuis. Het voegt meer functies toe om u te helpen het meeste u...
Linkermuisknop werkt niet op Windows 10
Als u een speciale muis gebruikt met uw laptop of desktopcomputer, maar de linkermuisknop werkt niet not op Windows 10/8/7 om wat voor reden dan ook, ...
Cursor springt of beweegt willekeurig tijdens het typen in Windows 10
Als u merkt dat uw muiscursor vanzelf springt of beweegt, automatisch, willekeurig tijdens het typen op een Windows-laptop of -computer, dan kunnen en...