'tab' è usato come separatore nel file delimitato da tabulazioni. Questo tipo di file di testo viene creato per memorizzare vari tipi di dati di testo in un formato strutturato. Esistono diversi tipi di comandi in Linux per analizzare questo tipo di file. Il comando 'awk' è uno dei modi per analizzare il file delimitato da tabulazioni in modi diversi. Gli usi del comando 'awk' per leggere il file delimitato da tabulazioni sono mostrati in questo tutorial.
Crea un file delimitato da tabulazioni:
Crea un file di testo chiamato utenti.TXT con il seguente contenuto per testare i comandi di questo tutorial. Questo file contiene il nome utente, l'e-mail, il nome utente e la password.
utenti.TXT
Nome Email Nome utente PasswordMd. Robin [email protected] robin89 563425
Nila Hasan [email protected] nila78 245667
Mirza Abbas [email protected] mirza23 534788
Aornob Hasan [email protected] arnob45 778473
Nuhas Ahsan [email protected] nuhas34 563452
Esempio 1: stampa la seconda colonna di un file delimitato da tabulazioni utilizzando l'opzione -F
Il seguente comando 'sed' stamperà la seconda colonna di un file di testo delimitato da tabulazioni. qui, il '-F' l'opzione viene utilizzata per definire il separatore di campo del file.
$ utenti di gatti.TXT$ awk -F '\t' 'print $2' utenti.TXT
Il seguente output apparirà dopo aver eseguito i comandi. La seconda colonna del file contiene gli indirizzi e-mail dell'utente, che vengono visualizzati come output.
Esempio 2: stampa la prima colonna di un file delimitato da tabulazioni utilizzando la variabile FS
Il seguente comando 'sed' stamperà la prima colonna di un file di testo delimitato da tabulazioni. Qui, FS ( Field Separator) viene utilizzata per definire il separatore di campo del file.
$ utenti di gatti.TXT$ awk ' print $1 ' FS='\t' utenti.TXT
Il seguente output apparirà dopo aver eseguito i comandi. La prima colonna del file contiene i nomi degli utenti, che vengono visualizzati come output.
Esempio 3: stampa la terza colonna di un file delimitato da tabulazioni con formattazione
Il seguente comando "sed" stamperà la terza colonna del file di testo delimitato da tabulazioni con la formattazione utilizzando il FS variabile e printf. qui, il FS variabile viene utilizzata per definire il separatore di campo del file.
$ utenti di gatti.TXT$ awk 'BEGINFS="\t" printf "%10s\n", $3' utenti.TXT
Il seguente output apparirà dopo aver eseguito i comandi. La terza colonna del file contiene il nome utente che è stato stampato qui.
Esempio-4: stampa la terza e la quarta colonna del file delimitato da tabulazioni utilizzando OFS
OFS (Output Field Separator) viene utilizzato per aggiungere un separatore di campo nell'output. Il seguente comando "awk" dividerà il contenuto del file in base al separatore tab(\t) e stamperà la 3a e la 4a colonna utilizzando tab(\t) come separatore.
$ utenti di gatti.TXT$ awk -F "\t" 'OFS="\t" stampa $3, $4 > ("output.txt")' utenti.TXT
$ uscita gatto.TXT
Il seguente output apparirà dopo aver eseguito i comandi sopra. La 3a e la 4a colonna contengono il nome utente e la password, che sono stati stampati qui.
Esempio-5: sostituire il contenuto particolare del file delimitato da tabulazioni
la funzione sub() è usata in 'awk per comandare per la sostituzione. Il seguente comando 'awk' cercherà il numero 45 e lo sostituirà con il numero 90 se il numero di ricerca esiste nel file. Dopo la sostituzione, il contenuto del file verrà memorizzato nell'output.file txt.
$ utenti di gatti.TXT$ awk -F "\t"'sub(/45/,90);print' utenti.txt > output.TXT
$ uscita gatto.TXT
Il seguente output apparirà dopo aver eseguito i comandi sopra. Il risultato.txt mostra il contenuto modificato dopo aver applicato la sostituzione. Qui, il contenuto della quinta riga è stato modificato e "arnob45" è stato modificato in "arnob90".
Esempio 6: aggiungere una stringa all'inizio di ogni riga di un file delimitato da tabulazioni
Di seguito, il comando 'awk', l'opzione '-F' viene utilizzata per dividere il contenuto del file in base al tab(\t). OFS ha usato per aggiungere una virgola (,) come separatore di campo nell'output. sub() viene utilizzata per aggiungere la stringa '-→' all'inizio di ogni riga dell'output.
$ utenti di gatti.TXT$ awk -F "\t" 'OFS=",";sub(/^/, "---->");print $1,$2,$3' utenti.TXT
Il seguente output apparirà dopo aver eseguito i comandi sopra. Ogni valore di campo è separato da una virgola(,) e viene aggiunta una stringa all'inizio di ogni riga.
Esempio-7: sostituire il valore di un file delimitato da tabulazioni utilizzando la funzione gsub()
La funzione gsub() viene utilizzata nel comando 'awk' per la sostituzione globale. Tutti i valori stringa del file verranno sostituiti dove corrisponde il modello di ricerca. La differenza principale tra le funzioni sub() e gsub() è che la funzione sub() interrompe l'attività di sostituzione dopo aver trovato la prima corrispondenza e la funzione gsub() cerca il modello alla fine del file per la sostituzione. Il seguente comando 'awk' cercherà la parola 'nila' e 'Mira' globalmente nel file e sostituirà tutte le occorrenze con il testo, 'Nome non valido', dove la parola cercata corrisponde.
$ utenti di gatti.TXT$ awk -F '\t' 'gsub(/nila|Mira/, "Nome non valido"); print' utenti.TXT
Il seguente output apparirà dopo aver eseguito i comandi sopra. La parola "nila" esiste due volte nella terza riga del file che è stata sostituita dalla parola "Nome non valido" nell'output.
Esempio-8: stampare il contenuto formattato da un file delimitato da tabulazioni
Il seguente comando 'awk' stamperà la prima e la seconda colonna del file con la formattazione usando printf. L'output mostrerà il nome dell'utente racchiudendo l'indirizzo email tra parentesi.
$ utenti di gatti.TXT$ awk -F '\t' 'printf "%s(%s)\n", $1,$2' utenti.TXT
Il seguente output apparirà dopo aver eseguito i comandi sopra.
Conclusione
Qualsiasi file delimitato da tabulazioni può essere facilmente analizzato e stampato con un altro delimitatore utilizzando il comando 'awk'. I modi per analizzare i file delimitati da tabulazioni e stampare in diversi formati sono stati mostrati in questo tutorial utilizzando più esempi. In questo tutorial sono spiegati anche gli usi delle funzioni sub() e gsub() nel comando 'awk' per sostituire il contenuto del file delimitato da tabulazioni. Spero che questo tutorial aiuti i lettori ad analizzare facilmente il file delimitato da tabulazioni dopo aver praticato correttamente gli esempi di questo tutorial.