Awk

Bruk kommandoen awk til å skrive ut den siste kolonnen fra en fil

Bruk kommandoen awk til å skrive ut den siste kolonnen fra en fil
“Awk” er en veldig kraftig Linux-kommando som kan brukes med andre kommandoer så vel som med andre variabler. Denne kommandoen brukes hovedsakelig til å lese innholdet i en fil. Prosessen med fillesing har aldri vært så mye enklere som det er med denne effektive kommandoen. Lesing og skriving av filer brukes veldig gjentatte ganger, spesielt hvis du er programmerer. Den lest filen kan deretter brukes til å behandle innholdet, endre den eller til og med å skrive den ut.

Det er imidlertid situasjoner der du ikke har tenkt å lese hele innholdet i den filen, men du er bare opptatt av en bestemt del av filen. I en slik situasjon anbefales det sterkt ikke å lese hele filen, siden den vil ta ekstra plass og vil også ta lengre tid å behandle, i stedet for at du direkte skal treffe den aktuelle delen av filen. I denne artikkelen tar vi sikte på å gå gjennom de forskjellige metodene for å bruke kommandoen "awk" for å skrive ut den siste kolonnen fra en fil.

Ulike måter å bruke kommandoen "awk" på for å skrive ut den siste kolonnen fra en fil:

Det er to forskjellige metoder der vi kan bruke kommandoen "awk" til å skrive ut den siste kolonnen fra en fil. Selv om disse to metodene kan brukes om hverandre fordi de tross alt gir den samme utdata, men den første metoden er mer egnet for situasjonen der du vet nøyaktig antall kolonner i en fil, og den andre metoden er nyttig når totalt antall kolonner er ukjent. La oss ta en titt på begge disse metodene en etter en.

Merk: Vi har brukt Linux Mint 20 for å demonstrere begge disse metodene, men du er fri til å velge hvilken som helst smak av Linux du ønsker.

Metode nr. 1: Når du vet det totale antallet kolonner i en fil:

Denne metoden kan brukes når du vet nøyaktig antall kolonner i en fil e.g. 3, 5, 10 osv. For å demonstrere denne metoden, bør følgende trinn utføres i spesifisert rekkefølge:

Lag en tekstfil med hvilket som helst navn du ønsker i hjemmemappen. I dette scenariet har vi kalt det som vanskelig.tekst. Dobbeltklikk nå på denne filen for å åpne den og skriv inn dataene som vises i bildet nedenfor i tekstfilen. Det er totalt tre forskjellige kolonner, og kolonnene er skilt fra hverandre ved å bruke tabulatorplass. Du kan også skrive inn vilkårlige data du ønsker.

Når du har opprettet denne filen, må du lagre den og lukke den. Start terminalen i Linux Mint 20 ved å klikke på ikonet på oppgavelinjen. Linux Mint 20-terminalen vises også i følgende bilde:

Skriv nå kommandoen nedenfor i terminalen din, og trykk deretter på Enter-tasten for å utføre den:

$ awk 'print $ ColNum' - fil.tekst

Her må du erstatte ColNum med kolonnenummeret til den siste kolonnen. For eksempel har tekstfilen vi har opprettet totalt tre kolonner, noe som betyr at kolonnenummeret til den siste kolonnen vil være 3. Siden vårt mål er å bare skrive ut den siste kolonnen i denne filen, har vi erstattet ColNum med 3. Når et kolonnenummer fortsetter med “$” -symbolet, betyr dette at vi vil ha tilgang til verdiene til den kolonnen. Videre må du også erstatte “fil” med det eksakte navnet på tekstfilen din. I vårt tilfelle var filnavnet vanskelig.tekst.

Så snart du trykker på Enter-tasten, feiler alle verdiene i den siste kolonnen i filen.txt vises på terminalen din som vist i det følgende bildet. Kommandoen awk vil lese denne kolonnen, mens utskriftskommandoen vil være ansvarlig for å vise verdiene på terminalen.

Metode nr. 2: Når totalt antall kolonner i en fil er ukjent:

Denne metoden brukes vanligvis når du ikke vet om det totale antallet kolonner i en fil. For å skrive ut den siste kolonnen i en fil gjennom denne metoden, må du gjøre som følger:

Vi bruker den samme tekstfilen som vi har laget for metoden ovenfor. Alt vi trenger å gjøre er å starte terminalen og deretter skrive følgende kommando i den:

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

Her er NF en variabel som har til oppgave å eksplisitt skrive ut den siste kolonnen fra en fil. Hvis det for eksempel er 10 eller 20 eller enda flere kolonner i en fil, men du ikke vet nøyaktig antall, og du fremdeles vil ha tilgang til den siste kolonnen, kan denne variabelen vise seg å være veldig nyttig for deg. Igjen, du må erstatte “fil” med navnet på tekstfilen din. I vårt tilfelle, siden vi har brukt den samme filen som den for metode nr. 1, har vi derfor erstattet filen.txt med awk.tekst.

Etter å ha skrevet denne kommandoen i terminalen din, må du kjøre den ved å trykke Enter. Du vil merke at utgangen til denne kommandoen er identisk med utdataene til kommandoen som ble brukt i metoden ovenfor i.e. den siste kolonnen i tekstfilen som inneholder årsdataene, er vellykket skrevet ut på terminalen.

Konklusjon:

I denne artikkelen ga vi deg veiledning om å skrive ut bare den siste kolonnen fra en fil mens du bruker kommandoen "awk". Det er mange flere aspekter av denne kommandoen som kan utforskes i detalj i.e. denne kommandoen kan også brukes sammen med andre forskjellige kommandoer for å gi en annen type utdata. Imidlertid, for omfanget av dagens diskusjon, var vår bekymring bare å demonstrere bruken av den for å skrive ut den siste kolonnen fra en fil. Vi presenterte for deg de to forskjellige måtene å gjøre det samme på. Nå avhenger det helt av situasjonen din hvilken av disse metodene du velger å følge.

Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...
Beste Gamepad Mapping Apps for Linux
Hvis du liker å spille spill på Linux med en gamepad i stedet for et vanlig tastatur- og musinngangssystem, er det noen nyttige apper for deg. Mange P...