Hur man använder Linux-kommandot awk för att utvärdera filer
Med kommandot awk kan du bläddra igenom filer och utföra vissa åtgärder. Grunden till detta Linux-kommando går tillbaka till 1977.
Vad är Linux-kommandot awk?
Linux har ett skript- och programmeringsspråk som du kan använda för att utvärdera och redigera filer. Det kallas awk och har sitt ursprung redan 1977. Namnet kommer från de tre utvecklarna: Alfred Aho, Peter Weinberger och Brian Kernighan. Du kan enkelt använda verktyget via kommandoraden eller SSH (Secure Shell). Precis som när du använder Linux-kommandot grep kan du använda kommandot awk för att söka efter vissa mönster i filer och sedan, om andra villkor är uppfyllda, redigera dem.
Hur fungerar kommandot awk?
Awk använder en kombination av villkor och instruktioner. När kommandot körs går det igenom filen rad för rad och letar efter vissa villkor. Om det hittar dessa villkor i en rad, utför det instruktionen där. Om inget villkor är angivet, utförs instruktionen på varje rad. Om du inte anger någon instruktion utförs standardinstruktionen från inmatningsraden. Det innebär att du kan använda Linux awk för att söka efter vissa termer eller exempel i filer.
Hur ser awk-syntaxen ut?
Syntaxen för Linux-kommandot awk ser ut som följer:
$ awk [Options] "Operation {Instructions}" [Target file]shellVilka alternativ har kommandot awk?
Du har tre alternativ att välja mellan:
- -F [Separator]: Du kan använda det här alternativet för att ställa in en separator mellan filer. Det är vanligtvis ett enda mellanslag.
- -f [Filnamn]: Du kan använda detta alternativ för att ange i vilken fil du vill köra awk-kommandot.
- -v: Använd detta alternativ för att lägga till en variabel.
Exempel på kommandot awk
För att få en bättre förståelse för hur du kan använda ask, följer här några exempel. I det här fallet använder vi en fil som heter example.txt som innehåller en lista över städer, länder och kontinenter i separata kolumner. Den ser ut så här:
City Country Continent
Washington D.C USA America
Paris France Europe
Hanoi Vietnam Asia
Abuja Nigeria AfricashellOm du vill skriva ut hela filen måste du använda följande kommando:
$ awk "{print $0}" example.txtshellOm du bara vill se enskilda kolumner kan du dock använda ett separat kommando. I vårt fall är det den första och tredje kolumnen:
$ awk "{print $1, $3}" example.txtshellDetta ger följande resultat:
Washington D.C America
Paris Europe
Hanoi Asia
Abuja Africa