Cosa è awk nf?

Cosa è awk nf?

La funzione "AWK" è un'utilità Linux utilizzata per l'analisi del testo che offre un forte controllo dei dati. Per utilizzare il programma per computer Linux e la funzione "AWK", gli utenti possono valutare, modificare e generare i risultati preparati. La variabile "Awk NF" viene utilizzata per mostrare quanti file, elementi o altri elementi sono contenuti in una riga di qualsiasi file.

Funzionante di awk nf

Il programma "AWK" opera su programmi che contengono le regole costituite da vari schemi e azioni che vengono eseguite sul testo che corrispondono al modello. Uno schema e un'azione costituiscono una regola insieme. L'intero programma "awk" è quindi racchiuso in un singolo preventivo.

Ora, usiamo solo un semplice esempio per dimostrare cosa succede quando digitiamo "chi" in Ubuntu 20.04 Terminale. Questo comando visualizza un'informazione sull'utente, nonché l'ora e la data corrente.

Linux@Linux: ~ $ Who

Eseguiamo questo comando facendo clic su Invio sulla tastiera che stampa la data e l'ora come "2022-12-08" e "15:06", rispettivamente, prima di pubblicare alcuni spazi bianchi e il nome dell'utente come "Linux".

Per impostazione predefinita, "AWK" interpreta un campo come una stringa di caratteri che sono racchiusi in spazi bianchi all'inizio e alla fine di una linea. Qui, dimostriamo come scrivere un comando usando i parametri "awk" e "chi" per recuperare il primo campo usando il segno del dollaro e il numero 1 ($ 1). Se desideriamo recuperare il primo campo da un file di testo o altri dati, utilizziamo il segno del dollaro da "$ 1" con uno. Per questo, usiamo il comando in cui scriviamo per la prima volta "chi". Quindi, usiamo questo "|" sbarra. Quindi, mettiamo spazio premendo la barra dello spazio sulla tastiera. Quindi scriviamo "Awk". Quindi, usiamo una virgola invertita, seguita da parentesi ricci. Infine, utilizziamo la parola "stampa" e il simbolo "$ 1" all'interno di queste parentesi.

Linux@Linux: ~ $ Who | awk 'stampa $ 1'

Come puoi vedere nell'immagine di output precedente, quando usiamo solo "chi" nel terminale ed eseguiamo questo, visualizza il nome utente insieme alle informazioni necessarie che includono la data e l'orario. Tuttavia, poiché utilizziamo il "stampa $ 1" con "awk" nel comando precedente, stampare solo il primo campo perché "$ 1" viene utilizzato per stampare il primo campo del file tra le altre cose.

Creazione di un file di testo sul desktop utilizzando il terminale e stampare tutti i suoi contenuti con "AWK"

Poiché "AWK" viene utilizzato per stampare l'intero contenuto di un file sul terminale, creiamo un file di testo come primo passo e stampiamo le informazioni del file sul terminale. Qui, creiamo un file di testo sul desktop usando il terminale. Per questo, scriviamo il comando in cui scriviamo "nano" come editor di testo. Quindi, usiamo il simbolo (~) seguito dalla barra "/". Quindi, scriviamo "Desktop" perché creiamo un file sul desktop seguito dalla barra "/". Ancora una volta, scriviamo quindi il nome del file che vogliamo creare. Infine, creiamo un file chiamato "TextFile" con ".estensione txt "perché è un file di testo.

Linux@Linux: ~ $ nano ~/desktop/textfile.TXT

Pertanto, un terminale ci viene visualizzato una schermata vuota quando inseriamo questo comando, come dimostrato nella seguente immagine:

Inseriamo i dati digitandoli nel terminale che vogliamo archiviare nel file di testo. Per fare questo, creiamo cinque righe. Il primo dei quali contiene la parola "ciao". Il secondo contiene "hey". Il terzo contiene "ciao". Il quarto contiene due elementi, "Goodbye" e "123". E la quinta riga è vuota, come mostrato nella seguente immagine:

Quando premi "CTRL-X" dopo aver inserito i dati in "TextFile.File txt ", la scelta" Sì "o" No "appare sullo schermo. Sappiamo che vogliamo salvare il file. Quindi, premiamo "Ctrl-Y" per salvare il file e il file viene creato correttamente.

La seguente immagine mostra il file mostrato:

Come sappiamo, il file viene salvato sul desktop. Dobbiamo prima aggiungere una directory al desktop utilizzando il comando "CD desktop/" e quindi premere il tasto Invio.

Linux@Linux: ~ $ CD desktop/

Ora utilizziamo la funzione "AWK" per recuperare il contenuto del file appena creato, "TextFile.txt ”e visualizzali sullo schermo. Per fare questo, usiamo il comando in cui prima scriviamo "Awk". Quindi, usiamo le virgole invertite all'interno di questo. Mettiamo le parentesi ricci e scriviamo "Stampa $ 0". Dopo di che, usiamo uno spazio. Infine, scriviamo il nome del file, "TextFile.TXT".

Linux@Linux: ~/desktop $ awk 'print $ 0' TextFile.TXT

Ora, quando eseguiamo questo comando, il contenuto del file di testo viene mostrato come puoi vedere nella seguente immagine. La prima riga di questo file ha la parola "ciao" seguita da "hey". La parola "ciao" appare sulla terza riga. Due elementi sono elencati nella quarta riga. E la quinta riga è vuota.

Visualizzazione del contenuto del file con numeri di riga

Usando la variabile "NR" nel comando, stampiamo il contenuto del file insieme al numero di riga nella parte successiva. Per fare questo, usiamo il comando in cui scriviamo per la prima volta "Awk". Quindi, dopo uno spazio, usiamo una virgola invertita. All'interno del quale posizioniamo le staffe ricci. Quindi, scriviamo la stampa. Infine, scriviamo "NR". Dopo di che, mettiamo una virgola e scriviamo "$ 0". Quindi, usciamo dalla staffa e invertita virgola. Infine, scriviamo il nome del file, "TextFile.TXT".

Linux@Linux: ~/desktop $ awk 'print nr, $ 0' TextFile.TXT

Come puoi vedere nel risultato, il contenuto del file viene visualizzato con numeri di riga che mostrano che contiene righe "5".

Visualizzazione della quantità complessiva di dati per riga utilizzando NF

In questa sezione, mostreremo il numero totale di elementi in ogni riga. Per fare ciò, utilizziamo il comando in cui prima scriviamo "awk" e quindi seguiamo gli stessi passaggi del comando precedente, ma utilizziamo la variabile "NF" dopo aver scritto il parametro "stampa". Successivamente, chiudiamo le staffe ricci e le virgole invertite. Quindi, scriviamo il nome del file, "TextFile.TXT".

Linux@Linux: ~/desktop $ awk 'print nf' TextFile.TXT

Il numero di elementi presenti nel file è ora mostrato nell'output. Le prime tre righe includono elementi "1". La quarta riga contiene elementi "2". E l'ultima riga è vuota nel file. Pertanto, visualizza "0".

Eliminare le righe vuote

In questa sezione, eliminiamo la riga vuota dal file. Per fare ciò, usiamo il comando in cui usiamo per la prima volta "awk". Quindi, usiamo "NF> 0" che è la condizione che dice di stampare la linea se il numero di elementi è maggiore di "0". Altrimenti, la linea non la mostrerà. Quindi, utilizziamo la stessa procedura che abbiamo fatto nella sezione precedente.

Linux@Linux: ~/desktop $ awk 'nf> 0 stampa $ 0' TextFile.TXT

Poiché la riga cinque del file è vuota, non viene visualizzata sullo schermo. Invece, vengono mostrate solo le linee che contengono elementi o elementi. Pertanto, vengono visualizzate le prime quattro righe del file perché contengono i dati, mentre l'ultima riga viene eliminata perché non ha dati.

Conclusione

In questo articolo, abbiamo parlato di come utilizzare la funzione "Awk NF" in Ubuntu 20.04 per stampare i dati o le informazioni dei file di testo. Nel primo passo, abbiamo dimostrato come funziona la funzione "AWK". Nel secondo passaggio, abbiamo creato un file di testo sul desktop e abbiamo usato i vari parametri della funzione "AWK" come "NR" per stampare le righe del file con numeri. Successivamente, abbiamo usato "NF" per contare il numero di elementi presenti in ogni riga del file. Nel passaggio finale, abbiamo eliminato la riga vuota dal file applicando una condizione usando "NF".