'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ösenordMd. 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.