Il differenza principale tra sed e awk è quello sed è un'utilità di comando che funziona con flussi di caratteri per la ricerca, il filtraggio e l'elaborazione del testo awk più potente e robusto di sed con sofisticati costrutti di programmazione come if / else, while, do / while ecc.
Un sistema operativo funziona come interfaccia tra l'utente e i dispositivi hardware. Il computer non può eseguire alcuna attività senza un sistema operativo. Ci sono molti sistemi operativi e UNIX è uno di questi. È un sistema operativo stabile che supporta l'ambiente multiutente. Linux è un altro sistema operativo popolare basato su UNIX. Sia UNIX che Linux forniscono una potente interfaccia a riga di comando (CLI). Gli utenti possono immettere i comandi nella CLI per eseguire varie attività. C'è un gran numero di comandi, e sed e awk sono due. Questi comandi aiutano il filtraggio e la trasformazione del testo.
1. Cosa è sed
- Definizione, esempi
2. Cosa è awk
- Definizione, esempi
3. Qual è la differenza tra sed e awk
- Confronto tra le principali differenze
sed, awk, Sistema operativo
Il comando sed consente di modificare e filtrare i file di testo.
Figura 1: CLI per fornire comandi in Linux e UNIX
sed '1,3 d' test1.txt
Il comando precedente mostrerà le linee dopo la riga 3. Non visualizzerà 1, 2, 3 linee di test1.txt.
sed 's / abc / cab /' test1.txt
Il comando precedente sostituirà cab invece di abc nel file test1.txt.
sed 's / one / 1 /' test1.txt
Il comando precedente sostituirà 1 invece di uno nel file test1.txt.
sed 1,2! d 'test1.txt
Questo mostrerà solo la linea 1 e la linea 2.
Questi sono alcuni esempi per sed. Nel complesso, sed consente agli utenti di eseguire il filtraggio e la ricerca.
Il comando awk consente la ricerca di dati in un file e la stampa di dati sulla console. Se un file contiene più colonne, è anche possibile trovare i dati in colonne specifiche. Inoltre, aiuta attività come la ricerca, l'esecuzione condizionale, l'aggiornamento e il filtraggio.
awk 'print' file1.txt
Il comando sopra mostrerà tutto il contenuto nel file1.txt.
Supponiamo che il file file1.txt contenga più colonne.
awk 'print $ 1' file1.txt
Questo comando stampa la prima colonna di file1.txt. Per impostazione predefinita, il comando awk considera uno spazio bianco come separatore.
awk 'print $ 1 "" $ 3' file1.txt
Il comando precedente stampa la prima e la terza colonna di file1.txt con uno spazio intermedio.
awk 'stampa $ 1. $ 3 'file1.txt
Il comando precedente stamperà la concatenazione della prima e della terza colonna.
awk '/ example / print' file1.txt
Il comando precedente stampa tutte le righe nel file file1.txt che contiene la parola esempio.
awk '/ [0-9] / print' file1.txt
Il comando precedente stampa tutte le righe nel file file1.txt che contiene numeri da 0 a 9.
awk '/ ^ [0-9] / print' file1.txt
Questo stamperà le righe in file1.txt che iniziano con un numero.
awk '/ [0-9] $ / print' file1.txt
Questo stamperà le righe in file1.txt che termina con un numero.
È anche possibile controllare i condizionali come segue.
awk 'if ($ 1 ~ / 123 /) print' file1.txt
Questo stamperà la riga se, il contenuto inizia con 123.
awk 'if ($ 2 ~ / [0-9] /) stampa' file1.txt
Questo stamperà le righe nella colonna due che iniziano con un numero.
Questi sono alcuni esempi di awk.
Nel complesso, awk è un potente comando per l'elaborazione e l'analisi dei file di testo.
La sed è un'utilità della riga di comando che analizza e trasforma il testo, utilizzando un linguaggio di programmazione semplice e compatto. L'awk è un'utilità a riga di comando progettata per l'elaborazione del testo che consente di scrivere programmi efficaci sotto forma di istruzioni.
Sia sed che awk consentono l'elaborazione di flussi di caratteri per attività come la trasformazione del testo. L'awk è più potente e robusto di sed. È simile a un linguaggio di programmazione.
Il sed è semplice e limitato mentre awk è più complesso e versatile.
La differenza tra sed e awk è che sed è un'utilità di comando che funziona con flussi di caratteri per la ricerca, il filtraggio e l'elaborazione del testo mentre awk più potente e robusto di sed con sofisticati costrutti di programmazione come if / else, while, do / while etc.
1. Comando AWK: Sessione 1: Seleziona dati colonna, Testing World, 8 febbraio 2017, disponibile qui.
2. Utilizzo dell'utilità AWK di Linux, Frank the Programmer, 25 giugno 2011, disponibile qui.
3. Esercitazione su Linux / Unix || Comandi SED in Linux di Shiva, Durga Software Solutions, 30 ottobre 2016, disponibili qui.
1. "Foremost in Xubuntu 11.04" di Kris Kendall, Jesse Kornblum e Nick Mikus - Screenshot dell'output -h di Foremost (Public Domain) via Commons Wikimedia