Met behulp van het awk-commando kunt u bestanden doorzoeken en bepaalde acties uitvoeren. De basis van dit Linux-commando gaat helemaal terug tot 1977.

Wat is het Linux awk-commando?

Linux heeft een script- en programmeertaal die u kunt gebruiken om bestanden te evalueren en te bewerken. Deze taal heet awk en vindt zijn oorsprong in 1977. De naam is afgeleid van de namen van de drie ontwikkelaars: Alfred Aho, Peter Weinberger en Brian Kernighan. U kunt de tool eenvoudig gebruiken via de opdrachtregel of SSH (Secure Shell). Net als bij het Linux-commando grep kunt u het awk-commando gebruiken om naar bepaalde patronen in bestanden te zoeken en deze vervolgens te bewerken als aan andere voorwaarden is voldaan.

Hoe werkt het awk-commando?

Awk maakt gebruik van een combinatie van voorwaarden en instructies. Door het commando uit te voeren, wordt het bestand regel voor regel doorzocht op bepaalde voorwaarden. Als het die voorwaarden in een regel vindt, voert het de instructie daar uit. Als er geen voorwaarde is ingesteld, wordt de instructie op elke regel uitgevoerd. Als u geen instructie invoert, wordt de standaardinstructie uit de invoerregel uitgevoerd. Dit betekent dat u Linux awk kunt gebruiken om in bestanden naar bepaalde termen of voorbeelden te zoeken.

Hoe ziet de awk-syntaxis eruit?

De syntaxis voor het Linux awk-commando ziet er als volgt uit:

$ awk [Options] "Operation {Instructions}" [Target file]
shell

Welke opties heeft het awk-commando?

Je hebt drie opties:

  • -F [Scheidingsteken]: Met deze optie kunt u een scheidingsteken tussen bestanden instellen. Dit is meestal een enkele spatie.
  • -f [Bestandsnaam]: Met deze optie kunt u instellen in welk bestand u het awk-commando wilt uitvoeren.
  • -v: Gebruik deze optie om een variabele toe te voegen.

Voorbeelden van het awk-commando

Om een beter begrip te krijgen van hoe u ask kunt gebruiken, volgen hier enkele voorbeelden. In dit geval gebruiken we een bestand met de naam example.txt dat een lijst met steden, landen en continenten in afzonderlijke kolommen bevat. Het ziet er als volgt uit:

City Country Continent
Washington D.C USA America
Paris France Europe
Hanoi Vietnam Asia
Abuja Nigeria Africa
shell

Als u het volledige bestand wilt uitvoeren, moet u de volgende opdracht gebruiken:

$ awk "{print $0}" example.txt
shell

Als u echter alleen afzonderlijke kolommen wilt zien, kunt u een aparte opdracht gebruiken. In ons geval zijn dat de eerste en derde kolom:

$ awk "{print $1, $3}" example.txt
shell

Dit levert de volgende uitvoer op:

Washington D.C America
Paris Europe
Hanoi Asia
Abuja Africa
Ga naar hoofdmenu