Awk

Använd kommandot awk för att skriva ut den sista kolumnen från en fil

Använd kommandot awk för att skriva ut den sista kolumnen från en fil
“Awk” är ett mycket kraftfullt Linux-kommando som kan användas med andra kommandon liksom med andra variabler. Detta kommando används i huvudsak för att läsa innehållet i en fil. Processen med filläsning har aldrig varit så mycket enklare som det är med det här effektiva kommandot. Filläsning och skrivning används mycket ofta, särskilt om du är programmerare. Den lästa filen kan sedan användas för att bearbeta dess innehåll, för att ändra den eller till och med för att helt enkelt skriva ut den.

Det finns dock situationer där du inte tänker läsa hela innehållet i den filen utan du bara berör en viss del av filen. I en sådan situation rekommenderas det starkt att inte läsa hela filen eftersom den tar mer plats och kommer också att ta längre tid att bearbeta, utan du bör slå direkt på den specifika delen av filen. I den här artikeln syftar vi till att gå igenom de olika metoderna för att använda kommandot "awk" för att skriva ut den sista kolumnen från en fil.

Olika sätt att använda kommandot "awk" för att skriva ut den sista kolumnen från en fil:

Det finns två olika metoder där vi kan använda kommandot "awk" för att skriva ut den sista kolumnen från en fil. Även om dessa två metoder kan användas omväxlande eftersom de trots allt ger samma utdata, men den första metoden är mer lämplig för den situation där du vet det exakta antalet kolumner i en fil och den andra metoden är användbar när totalt antal kolumner är okänt. Låt oss ta en titt på båda dessa metoder en efter en.

Obs! Vi har använt Linux Mint 20 för att visa båda dessa metoder, men du är fri att välja vilken smak du vill av Linux.

Metod nr 1: När du vet det totala antalet kolumner i en fil:

Denna metod kan användas när du vet exakt antal kolumner i en fil e.g. 3, 5, 10, etc. För att demonstrera denna metod bör följande steg utföras i angiven ordning:

Skapa en textfil med valfritt namn i din hemmapp. I det här scenariot har vi kallat det som besvärligt.Text. Dubbelklicka nu på den här filen för att öppna den och skriv in data som visas i bilden nedan i din textfil. Det finns totalt tre olika kolumner och kolumnerna är åtskilda från varandra genom flikutrymme. Du kan också skriva in valfri slumpmässig data.

När du har skapat den här filen måste du spara den och stänga den. Starta nu terminalen i Linux Mint 20 genom att klicka på dess ikon i aktivitetsfältet. Linux Mint 20-terminalen visas också i följande bild:

Skriv nu kommandot nedan i din terminal och tryck sedan på Enter för att utföra det:

$ awk 'print $ ColNum' - fil.Text

Här måste du ersätta ColNum med kolumnnumret för den sista kolumnen. Till exempel har textfilen som vi har skapat totalt tre kolumner vilket innebär att kolumnnumret för den sista kolumnen blir 3. Eftersom vårt mål är att bara skriva ut den sista kolumnen i den här filen, har vi ersatt ColNum med 3. Varje gång ett kolumnnummer fortsätter med symbolen “$” betyder det att vi vill komma åt värdena för den kolumnen. Dessutom måste du också ersätta "fil" med det exakta namnet på din textfil. I vårt fall var filnamnet ok.Text.

Så snart du trycker på Enter-tangenten, alla värden i den sista kolumnen i filen awk.txt visas på din terminal som visas i följande bild. Kommandot awk kommer att läsa den här kolumnen medan utskriftskommandot är ansvarigt för att visa dess värden på terminalen.

Metod 2: När det totala antalet kolumner i en fil är okänd:

Denna metod används vanligtvis när du inte vet om det totala antalet kolumner i en fil. För att skriva ut den sista kolumnen i en fil med den här metoden måste du göra så här:

Vi använder samma textfil som vi har skapat för metoden ovan. Allt vi behöver göra är att starta terminalen och sedan skriva följande kommando i den:

$ awk 'print $ (NF)' - fil.Text

Här är NF en variabel vars uppgift är att uttryckligen skriva ut den sista kolumnen från en fil. Till exempel, om det finns 10 eller 20 eller till och med fler kolumner i en fil men du inte vet deras exakta antal och du fortfarande vill komma åt den sista kolumnen, kan denna variabel visa sig vara till stor hjälp för dig. Återigen måste du ersätta “fil” med namnet på din textfil. I vårt fall, eftersom vi har använt samma fil som metod nr 1, har vi därför ersatt filen.txt med awk.Text.

Efter att ha skrivit det här kommandot i din terminal måste du köra det genom att trycka på Enter. Du kommer att märka att utdata från detta kommando är identiskt med utdata från kommandot som används i metoden ovan i.e. den sista kolumnen i textfilen som innehöll årsdata har skrivits fram på terminalen.

Slutsats:

I den här artikeln gav vi dig vägledning om att bara skriva ut den sista kolumnen från en fil medan du använder kommandot "awk". Det finns mycket fler aspekter av detta kommando som kan utforskas i detalj i.e. detta kommando kan också användas i kombination med andra olika kommandon för att göra en annan typ av utdata. Men för dagens diskussion var vårt intresse bara att visa hur det används för att skriva ut den sista kolumnen från en fil. Vi presenterade de två olika sätten att göra samma sak på. Nu beror det helt på din situation vilken av dessa metoder du väljer att följa.

Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider är det tolfte tillskottet till Tomb Raider-serien - en action-äventyrsspelfranchise skapad av Eidos Montreal. Spelet mottogs...
Hur man förbättrar FPS i Linux?
FPS står för Bildrutor per sekund. FPS: s uppgift är att mäta bildfrekvensen i videouppspelningar eller spelprestanda. Med enkla ord betecknas antalet...