Awk

Brug kommandoen awk til at udskrive den sidste kolonne fra en fil

Brug kommandoen awk til at udskrive den sidste kolonne fra en fil
“Awk” er en meget kraftig Linux-kommando, der kan bruges med andre kommandoer såvel som med andre variabler. Denne kommando bruges hovedsageligt til at læse indholdet af en fil. Processen med fillæsning har aldrig været så meget lettere, som det er med denne effektive kommando. Fillæsning og skrivning bruges meget gentagne gange, især hvis du er programmør. Den læste fil kan derefter bruges til at behandle dens indhold, til at ændre den eller endda til at udskrive den.

Der er dog situationer, hvor du ikke har til hensigt at læse hele filens indhold, men du er kun bekymret for en bestemt del af filen. I en sådan situation anbefales det stærkt ikke at læse hele filen, da den optager ekstra plads og også tager længere tid at behandle, men du skal direkte ramme den bestemte del af filen. I denne artikel tilstræber vi at gennemgå de forskellige metoder til at bruge kommandoen "awk" til at udskrive den sidste kolonne fra en fil.

Forskellige måder at bruge kommandoen "awk" til at udskrive den sidste kolonne fra en fil:

Der er to forskellige metoder, hvor vi kan bruge kommandoen "awk" til at udskrive den sidste kolonne fra en fil. Selvom disse to metoder kan bruges om hverandre, fordi de trods alt giver den samme output, men den første metode er mere egnet til den situation, hvor du kender det nøjagtige antal kolonner i en fil, og den anden metode er nyttig, når det samlede antal kolonner er ukendt. Lad os se på begge disse metoder en efter en.

Bemærk: Vi har brugt Linux Mint 20 til at demonstrere begge disse metoder, men du er fri til at vælge enhver Linux-smag efter eget valg.

Metode nr. 1: Når du kender det samlede antal kolonner i en fil:

Denne metode kan bruges, når du kender det nøjagtige antal kolonner i en fil e.g. 3, 5, 10 osv. For at demonstrere denne metode skal følgende trin udføres i den angivne rækkefølge:

Opret en tekstfil med ethvert navn efter eget valg i din hjemmemappe. I dette scenarie har vi navngivet det som akavet.txt. Dobbeltklik nu på denne fil for at åbne den og skriv dataene vist i billedet nedenfor i din tekstfil. Der er i alt tre forskellige kolonner, og kolonnerne adskilles fra hinanden ved hjælp af faneplads. Du kan også skrive tilfældige data efter eget valg.

Når du har oprettet denne fil, skal du gemme den og lukke den. Start nu terminalen i Linux Mint 20 ved at klikke på dens ikon på proceslinjen. Linux Mint 20-terminalen vises også i følgende billede:

Skriv nu nedenstående kommando i din terminal, og tryk derefter på Enter-tasten for at udføre den:

$ awk 'print $ ColNum' - fil.txt

Her skal du erstatte ColNum med kolonnenummeret i den sidste kolonne. For eksempel har den tekstfil, vi har oprettet, i alt tre kolonner, hvilket betyder at kolonnetallet i den sidste kolonne vil være 3. Da vores mål er kun at udskrive den sidste kolonne i denne fil, har vi erstattet ColNum med 3. Hver gang et søjlenummer fortsættes med symbolet “$”, betyder det, at vi ønsker at få adgang til værdierne for den søjle. Desuden skal du også erstatte "fil" med det nøjagtige navn på din tekstfil. I vores tilfælde var filnavnet akavet.txt.

Så snart du trykker på Enter-tasten, awk alle værdierne i den sidste kolonne i filen.txt vises på din terminal som vist i det følgende billede. Kommandoen awk læser denne kolonne, mens udskrivningskommandoen er ansvarlig for at vise dens værdier på terminalen.

Metode nr.2: Når det samlede antal kolonner i en fil er ukendt:

Denne metode bruges generelt, når du ikke ved om det samlede antal kolonner i en fil. For at udskrive den sidste kolonne i en fil ved hjælp af denne metode skal du gøre som følger:

Vi bruger den samme tekstfil, som vi har oprettet til metoden ovenfor. Alt hvad vi skal gøre er at starte terminalen og derefter skrive følgende kommando i den:

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

Her er NF en variabel, hvis opgave eksplicit er at udskrive den sidste kolonne fra en fil. For eksempel, hvis der er 10 eller 20 eller endnu flere kolonner i en fil, men du ikke kender deres nøjagtige antal, og du stadig vil have adgang til den sidste kolonne, kan denne variabel vise sig at være meget nyttig for dig. Igen skal du erstatte "fil" med navnet på din tekstfil. I vores tilfælde har vi derfor erstattet filen, da vi har brugt den samme fil som metode # 1.txt med awk.txt.

Når du har skrevet denne kommando i din terminal, skal du køre den ved at trykke på Enter-tasten. Du vil bemærke, at output fra denne kommando er identisk med output fra kommandoen, der blev brugt i metoden ovenfor i.e. den sidste kolonne i tekstfilen, der indeholdt årsdataene, er med succes udskrevet på terminalen.

Konklusion:

I denne artikel gav vi dig vejledning om kun at udskrive den sidste kolonne fra en fil, mens du bruger kommandoen "awk". Der er meget flere aspekter af denne kommando, som kan udforskes i detaljer i.e. denne kommando kan også bruges sammen med andre forskellige kommandoer til at gengive en anden slags output. For omfanget af dagens diskussion var vores bekymring imidlertid kun at demonstrere brugen til udskrivning af den sidste kolonne fra en fil. Vi præsenterede for dig de to forskellige måder at gøre det samme på. Nu afhænger det helt af din situation, hvilken af ​​disse metoder du vælger at følge.

Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...