Awk

Hvordan analysere den tabulatoravgrensede filen ved hjelp av 'awk'

Hvordan analysere den tabulatoravgrensede filen ved hjelp av 'awk'

'tab' brukes som separator I den tabulatoravgrensede filen. Denne typen tekstfil er opprettet for å lagre forskjellige typer tekstdata i et strukturert format.  Ulike typer kommandoer finnes i Linux for å analysere denne typen filer.  'awk' -kommando er en av måtene å analysere den tabulatoravgrensede filen på forskjellige måter. Bruken av 'awk' -kommandoen for å lese den tabulatoravgrensede filen har vist i denne opplæringen.

Opprett en tabulatoravgrenset fil:

Lag en tekstfil med navnet brukere.tekst med følgende innhold for å teste kommandoene i denne opplæringen. Denne filen inneholder brukerens navn, e-postadresse, brukernavn og passord.

brukere.tekst

Navn E-post Brukernavn Passord
Md. Robin [e-postbeskyttet] robin89 563425
Nila Hasan [e-postbeskyttet] nila78 245667
Mirza Abbas [e-postbeskyttet] mirza23 534788
Aornob Hasan [e-postbeskyttet] arnob45 778473
Nuhas Ahsan [e-postbeskyttet] nuhas34 563452

Eksempel 1: Skriv ut den andre kolonnen i en tabulatoravgrenset fil ved å bruke alternativet -F

Følgende 'sed' kommando vil skrive ut den andre kolonnen i en tabulatoravgrenset tekstfil. Her, den '-F' alternativet brukes til å definere feltseparatoren for filen.

$ kattbrukere.tekst
$ awk -F '\ t' 'print $ 2' brukere.tekst

Følgende utdata vises etter at du har kjørt kommandoene. Den andre kolonnen i filen inneholder brukerens e-postadresser, som vises som utdata.

Eksempel 2: Skriv ut den første kolonnen i en tabulatoravgrenset fil ved hjelp av FS-variabelen

Følgende 'sed' -kommando vil skrive ut den første kolonnen i en tabulatoravgrenset tekstfil. Her, FS (Feltseparator) -variabel brukes til å definere feltseparatoren for filen.

$ kattbrukere.tekst
$ awk 'print $ 1' FS = '\ t' brukere.tekst

Følgende utdata vises etter at du har kjørt kommandoene. Den første kolonnen i filen inneholder brukerens navn, som vises som utdata.

Eksempel 3: Skriv ut tredje kolonne i en tabulatoravgrenset fil med formatering

Følgende 'sed' kommando vil skrive ut den tredje kolonnen i den tabulatoravgrensede tekstfilen med formatering ved hjelp av FS variabel og printf. Her, den FS variabel brukes til å definere feltseparatoren for filen.

$ kattbrukere.tekst
$ awk 'BEGIN FS = "\ t" printf "% 10s \ n", $ 3' brukere.tekst

Følgende utdata vises etter at du har kjørt kommandoene. Den tredje kolonnen i filen inneholder brukernavnet som er skrevet ut her.

Eksempel 4: Skriv ut den tredje og fjerde kolonnen i den tabulatoravgrensede filen ved hjelp av OFS

OFS (Output Field Separator) brukes til å legge til en feltseparator i utgangen. Følgende kommando "awk" vil dele innholdet i filen basert på tabulator (\ t) skilletegn og skrive ut 3. og 4. kolonne ved å bruke kategorien (\ t) som separator.

$ kattbrukere.tekst
$ awk -F "\ t" 'OFS = "\ t" print $ 3, $ 4> ("output.txt ") 'brukere.tekst
$ kattutgang.tekst

Følgende utdata vises når du har kjørt kommandoene ovenfor. Den tredje og fjerde kolonnen inneholder brukernavn og passord, som er skrevet ut her.

Eksempel 5: Erstatt det spesielle innholdet i den tabulatoravgrensede filen

sub () -funksjonen brukes i 'awk for å kommandere for erstatning. Den følgende "awk" -kommandoen vil søke på nummer 45 og erstatte nummeret 90 hvis søkenummeret finnes i filen. Etter erstatningen lagres innholdet i filen i utdataene.txt-fil.

$ kattbrukere.tekst
$ awk -F "\ t" 'sub (/ 45 /, 90); print' brukere.txt> utdata.tekst
$ kattutgang.tekst

Følgende utdata vises når du har kjørt kommandoene ovenfor. Utgangen.txt-filen viser det endrede innholdet etter at erstatningen er brukt. Her er innholdet i 5. linje endret, og 'arnob45' endres til 'arnob90'.

Eksempel 6: Legg til streng i begynnelsen av hver linje i en tabulatoravgrenset fil

I det følgende, kommandoen 'awk', alternativet '-F' brukes til å dele innholdet i filen basert på fanen (\ t). OFS har brukt til å legge til et komma (,) som feltseparator i utgangen. sub () -funksjonen brukes til å legge til strengen '- →' i begynnelsen av hver linje i utgangen.

$ kattbrukere.tekst
$ awk -F "\ t" 'OFS = ","; sub (/ ^ /, "---->"); skriv ut $ 1, $ 2, $ 3' brukere.tekst

Følgende utdata vises når du har kjørt kommandoene ovenfor. Hver feltverdi er atskilt med komma (,) og en streng legges til i begynnelsen av hver linje.

Eksempel 7: Erstatt verdien av en tabulatoravgrenset fil ved å bruke funksjonen gsub ()

funksjonen gsub () brukes i kommandoen 'awk' for global erstatning. Alle strengverdier i filen erstattes der søkemønsteret samsvarer. Hovedforskjellen mellom sub () og gsub () -funksjonene er at sub () -funksjonen stopper erstatningsoppgaven etter å ha funnet den første matchen, og gsub () -funksjonen søker i mønsteret på slutten av filen for erstatning. Følgende kommando 'awk' vil søke i ordet 'nila' og 'Mira' globalt i filen og erstatte alle forekomster med teksten 'Ugyldig navn', der søkeordet samsvarer.

$ kattbrukere.tekst
$ awk -F '\ t' 'gsub (/ nila | Mira /, "Ugyldig navn"); skriv ut brukere.tekst

Følgende utdata vises når du har kjørt kommandoene ovenfor. Ordet 'nila' eksisterer to ganger i 3. linje i filen som er erstattet av ordet 'Ugyldig navn' i utdataene.

Eksempel 8: Skriv ut det formaterte innholdet fra en tabulatoravgrenset fil

Følgende kommando 'awk' vil skrive ut den første og andre kolonnen i filen med formatering ved hjelp av printf. Utgangen viser brukerens navn ved å legge inn e-postadressen i parentes.

$ kattbrukere.tekst
$ awk -F '\ t' 'printf "% s (% s) \ n", $ 1, $ 2' brukere.tekst

Følgende utdata vises når du har kjørt kommandoene ovenfor.

Konklusjon

Enhver tabulatoravgrenset fil kan enkelt analyseres og skrives ut med en annen avgrenser ved å bruke kommandoen 'awk'. Måtene å analysere tabulatoravgrensede filer og skrive ut i forskjellige formater har vist i denne veiledningen ved å bruke flere eksempler. Bruken av sub () og gsub () -funksjoner i kommandoen 'awk' for å erstatte innholdet i den tabulatoravgrensede filen er også forklart i denne veiledningen. Jeg håper denne opplæringen vil hjelpe leserne til å analysere den tabulatoravgrensede filen enkelt etter å ha praktisert eksemplene på denne opplæringen riktig.

Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...