Awk

Hur man analyserar den tabbavgränsade filen med 'awk'

Hur man analyserar den tabbavgränsade filen med 'awk'

'tab' används som separator I den tabbavgränsade filen. Denna typ av textfil skapas för att lagra olika typer av textdata i ett strukturerat format.  Det finns olika typer av kommandon i Linux för att analysera denna typ av fil.  kommandot 'awk' är ett av sätten att analysera den tabbavgränsade filen på olika sätt. Användningen av kommandot 'awk' för att läsa den avgränsade filen har visats i denna handledning.

Skapa en avgränsad fil:

Skapa en textfil med namnet användare.Text med följande innehåll för att testa kommandona i denna handledning. Den här filen innehåller användarens namn, e-postadress, användarnamn och lösenord.

användare.Text

Namn E-post Användarnamn Lösenord
Md. Robin [e-postskyddad] robin89 563425
Nila Hasan [e-postskyddad] nila78 245667
Mirza Abbas [e-postskyddad] mirza23 534788
Aornob Hasan [e-postskyddad] arnob45 778473
Nuhas Ahsan [e-postskyddad] nuhas34 563452

Exempel 1: Skriv ut den andra kolumnen i en tabbavgränsad fil med alternativet -F

Följande "sed" -kommando skriver ut den andra kolumnen i en avgränsad textfil. Här, den '-F' alternativet används för att definiera fältseparatorn för filen.

$ kattanvändare.Text
$ awk -F '\ t' 'print $ 2' användare.Text

Följande utdata visas när kommandona har körts. Den andra kolumnen i filen innehåller användarens e-postadresser som visas som utdata.

Exempel 2: Skriv ut den första kolumnen i en tabbavgränsad fil med FS-variabeln

Följande "sed" -kommando skriver ut den första kolumnen i en tabbavgränsad textfil. Här, FS (Fältavskiljare) variabel används för att definiera fältseparatorn för filen.

$ kattanvändare.Text
$ awk 'print $ 1' FS = '\ t' användare.Text

Följande utdata visas när kommandona har körts. Den första kolumnen i filen innehåller användarens namn som visas som utdata.

Exempel 3: Skriv ut den tredje kolumnen i en flikavgränsad fil med formatering

Följande "sed" -kommando skriver ut den tredje kolumnen i den flikavgränsade textfilen med formatering med hjälp av FS variabel och tryckf. Här, den FS variabel används för att definiera fältseparatorn för filen.

$ kattanvändare.Text
$ awk 'BEGIN FS = "\ t" printf "% 10s \ n", $ 3' användare.Text

Följande utdata visas när kommandona har körts. Den tredje kolumnen i filen innehåller användarnamnet som har skrivits ut här.

Exempel 4: Skriv ut den tredje och fjärde kolumnen i den flikavgränsade filen med OFS

OFS (Output Field Separator) används för att lägga till en fältseparator i utgången. Följande kommando 'awk' delar upp innehållet i filen baserat på flikavskiljaren (\ t) och skriver ut den tredje och fjärde kolumnen med hjälp av fliken (\ t) som avgränsare.

$ kattanvändare.Text
$ awk -F "\ t" 'OFS = "\ t" skriv ut $ 3, $ 4> ("output.txt ") 'användare.Text
$ cat output.Text

Följande utdata visas efter att ovanstående kommandon har körts. Den tredje och fjärde kolumnen innehåller användarnamn och lösenord som har skrivits ut här.

Exempel 5: Ersätt det specifika innehållet i den flikavgränsade filen

sub () -funktionen används i 'awk för att kommandot för substitution. Följande "awk" -kommando söker efter nummer 45 och ersätter siffran 90 om söknumret finns i filen. Efter bytet lagras filens innehåll i utdata.txt-fil.

$ kattanvändare.Text
$ awk -F "\ t" 'sub (/ 45 /, 90); print' användare.txt> utdata.Text
$ cat output.Text

Följande utdata visas efter att ovanstående kommandon har körts. Utgången.txt-filen visar det modifierade innehållet efter att ersättningen tillämpats. Här har innehållet i den 5: e raden modifierats och 'arnob45' ändras till 'arnob90'.

Exempel 6: Lägg till sträng i början av varje rad i en tabbavgränsad fil

I det följande används kommandot "awk", alternativet "-F" för att dela innehållet i filen baserat på fliken (\ t). OFS har använt för att lägga till ett komma (,) som fältseparator i utgången. sub () -funktionen används för att lägga till strängen '- →' i början av varje rad i utgången.

$ kattanvändare.Text
$ awk -F "\ t" 'OFS = ","; sub (/ ^ /, "---->"); skriv ut $ 1, $ 2, $ 3 användare.Text

Följande utdata visas efter att ovanstående kommandon har körts. Varje fältvärde separeras med komma (,) och en sträng läggs till i början av varje rad.

Exempel 7: Ersätt värdet för en tabbavgränsad fil med funktionen gsub ()

gsub () -funktionen används i kommandot 'awk' för global substitution. Alla strängvärden i filen ersätts där sökmönstret matchar. Huvudskillnaden mellan sub () och gsub () -funktionerna är att sub () -funktionen stoppar substitutionsuppgiften efter att ha hittat den första matchningen, och funktionen gsub () söker i mönstret i slutet av filen för att ersätta. Följande "awk" -kommando söker ordet "nila" och "Mira" globalt i filen och ersätter alla förekomster med texten "Ogiltigt namn", där sökordet matchar.

$ kattanvändare.Text
$ awk -F '\ t' 'gsub (/ nila | Mira /, "Ogiltigt namn"); skriva användare.Text

Följande utdata visas efter att ovanstående kommandon har körts. Ordet 'nila' finns två gånger i den tredje raden i filen som har ersatts med ordet 'Ogiltigt namn' i utdata.

Exempel 8: Skriv ut det formaterade innehållet från en avgränsad fil

Följande kommando "awk" skriver ut den första och andra kolumnen i filen med formatering med hjälp av printf. Utdata visar användarens namn genom att bifoga e-postadressen inom parentes.

$ kattanvändare.Text
$ awk -F '\ t' 'printf "% s (% s) \ n", $ 1, $ 2' användare.Text

Följande utdata visas efter att ovanstående kommandon har körts.

Slutsats

Varje flikavgränsad fil kan enkelt analyseras och skrivas ut med en annan avgränsare med kommandot "awk". Sätten att analysera flikavgränsade filer och skriva ut i olika format har visats i denna handledning med hjälp av flera exempel. Användningen av sub () och gsub () -funktioner i kommandot "awk" för att ersätta innehållet i den tabbavgränsade filen förklaras också i denna handledning. Jag hoppas att den här handledningen hjälper läsarna att analysera den flikavgränsade filen enkelt efter att ha tränat exemplen på denna handledning ordentligt.

Mus Mellan musknappen fungerar inte i Windows 10
Mellan musknappen fungerar inte i Windows 10
De mittknappen hjälper dig att bläddra igenom långa webbsidor och skärmar med mycket data. Om det slutar, kommer du sluta använda tangentbordet för at...
Mus Hur man ändrar vänster och höger musknapp på Windows 10 PC
Hur man ändrar vänster och höger musknapp på Windows 10 PC
Det är en hel norm att alla datormusenheter är ergonomiskt utformade för högerhänta användare. Men det finns musenheter tillgängliga som är speciellt ...
Mus Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Att använda en mus eller tangentbord i fel hållning av överdriven användning kan resultera i många hälsoproblem, inklusive stam, karpaltunnelsyndrom o...