'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 PassordMd. 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.