Come analizzare il file delimitato dalla scheda usando 'awk'

Come analizzare il file delimitato dalla scheda usando 'awk'

'Tab' viene utilizzato come separatore nel file delimitato dalla scheda. Questo tipo di file di testo viene creato per archiviare vari tipi di dati di testo in un formato strutturato. Esistono diversi tipi di comando in Linux per analizzare questo tipo di file. Il comando 'awk' è uno dei modi per analizzare il file delimitato in diversi modi in diversi modi. Gli usi del comando "awk" per leggere il file delimitato da tab hanno mostrato in questo tutorial.

Crea un file delimitato da scheda:

Crea un file di testo denominato utenti.TXT con il seguente contenuto per testare i comandi di questo tutorial. Questo file contiene il nome dell'utente, l'e -mail, il nome utente e la password.

utenti.TXT

Nome Email Nome utente Password
MD. 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: stampare la seconda colonna di un file delimitato dalla scheda utilizzando l'opzione -f

Il seguente comando "SED" stamperà la seconda colonna di un file di testo delimitato da scheda. Qui, il '-F' l'opzione viene utilizzata per definire il separatore di campo del file.

utenti da $ cat.TXT
$ awk -f '\ t' 'stampa $ 2 utenti.TXT

La seguente output apparirà dopo aver eseguito i comandi. La seconda colonna del file contiene gli indirizzi e -mail dell'utente, che stanno visualizzando come output.

Esempio-2: stampare la prima colonna di un file delimitato dalla scheda utilizzando la variabile FS

Il seguente comando "SED" stamperà la prima colonna di un file di testo delimitato. Qui, Fs (Field Separator) La variabile viene utilizzata per definire il separatore di campo del file.

utenti da $ cat.TXT
$ awk 'stampa $ 1' fs = '\ t' utenti.TXT

La seguente output apparirà dopo aver eseguito i comandi. La prima colonna del file contiene i nomi dell'utente, che stanno visualizzando come output.

Esempio-3: stampare la terza colonna di un file delimitato da scheda con formattazione

Il seguente comando "SED" stamperà la terza colonna del file di testo delimitato dalla scheda con formattazione utilizzando il Fs variabile e printf. Qui, il Fs La variabile viene utilizzata per definire il separatore di campo del file.

utenti da $ cat.TXT
$ awk 'inizio fs = "\ t" printf "%10s \ n", $ 3' utenti.TXT

La seguente output apparirà dopo aver eseguito i comandi. La terza colonna del file contiene il nome utente che è stato stampato qui.

Esempio-4: stampare la terza e la quarta colonna del file delimitato dalla scheda utilizzando OFS

OFS (separatore di campo di output) viene utilizzato per aggiungere un separatore di campo nell'output. Il seguente comando "awk" dividerà il contenuto del file in base al separatore di tab (\ t) e stampano le colonne 3a e 4 ° usando la scheda (\ t) come separatore.

utenti da $ cat.TXT
$ awk -f "\ t" 'dis = "\ t" stampa $ 3, $ 4> ("output.txt ") 'utenti.TXT
Output di $ Cat.TXT

La seguente output apparirà dopo aver eseguito i comandi sopra. La terza e la quarta colonne contengono il nome utente e la password, che sono stati stampati qui.

Esempio-5: sostituire il contenuto particolare del file delimitato dalla scheda

La funzione sub () viene utilizzata in 'awk per comandare per la sostituzione. Il seguente comando "awk" cercherà il numero 45 e sostituirà il numero 90 se il numero di ricerca esiste nel file. Dopo la sostituzione, il contenuto del file verrà archiviato nell'output.file txt.

utenti da $ cat.TXT
$ awk -f "\ t" 'sub (/45/, 90); stampa' utenti.txt> output.TXT
Output di $ Cat.TXT

La seguente output apparirà dopo aver eseguito i comandi sopra. Il risultato.Il file TXT mostra il contenuto modificato dopo aver applicato la sostituzione. Qui, il contenuto della 5a riga è stato modificato e "Arnob45" viene modificato in "Arnob90".

Esempio-6: Aggiungi stringa all'inizio di ogni riga di un file delimitato a scheda

Nel seguente, il comando 'AWK', l'opzione '-F' viene utilizzata per dividere il contenuto del file in base alla scheda (\ t). OFS ha usato per aggiungere una virgola (,) come separatore di campo nell'output. La funzione sub () viene utilizzata per aggiungere la stringa '-→' all'inizio di ogni riga dell'uscita.

utenti da $ cat.TXT
$ awk -f "\ t" 'ofs = ","; sub (/^/, "---->"); stampa $ 1, $ 2, $ 3' utenti.TXT

La seguente output apparirà dopo aver eseguito i comandi sopra. Ogni valore di campo è separato da virgola (,) e una stringa viene aggiunta all'inizio di ogni riga.

Esempio-7: sostituire il valore di un file delimitato dalla scheda utilizzando la funzione GSUB ()

La funzione GSUB () viene utilizzata nel comando "AWK" per la sostituzione globale. Tutti i valori di stringa del file sostituiranno 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" a livello globale nel file e sostituirà tutte le occorrenze dal testo, "nome non valido", in cui la parola di ricerca corrisponde.

utenti da $ cat.TXT
$ awk -f '\ t' 'gsub (/nila | mira/, "nome non valido"); Stampa 'utenti.TXT

La 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 a scheda

Il seguente comando "AWK" stamperà la prima e la seconda colonne del file con formattazione utilizzando printf. L'output mostrerà il nome dell'utente racchiudendo l'indirizzo e -mail tra parentesi.

utenti da $ cat.TXT
$ awk -f '\ t' 'printf "%s (%s) \ n", $ 1, $ 2 "utenti.TXT

La seguente output apparirà dopo aver eseguito i comandi sopra.

Conclusione

Qualsiasi file delimitato da una scheda può essere facilmente analizzato e stampato con un altro delimitatore utilizzando il comando 'awk'. I modi per analizzare i file delimitati dalla scheda e la stampa in diversi formati hanno mostrato in questo tutorial utilizzando più esempi. Gli usi delle funzioni sub () e gsub () nel comando "awk" per sostituire il contenuto del file delimitato dalla scheda sono anche spiegati in questo tutorial. Spero che questo tutorial aiuterà i lettori a analizzare facilmente il file delimitato dalla scheda dopo aver praticato correttamente gli esempi di questo tutorial.