Diferența dintre sed și awk

principala diferență între sed și awk este asta sed este un utilitar de comandă care funcționează cu fluxuri de caractere pentru căutarea, filtrarea și procesarea textului în timp ce awk mai puternic și mai robust decât sed cu constructori sofisticați de programare, cum ar fi dacă / altceva, în timp ce face / în timp etc..

Un sistem de operare funcționează ca interfață între utilizator și dispozitivele hardware. Computerul nu poate efectua nici o sarcină fără un sistem de operare. Există multe sisteme de operare, iar UNIX este una dintre ele. Este un sistem de operare stabil care suportă mediul multi-utilizator. Linux este un alt sistem de operare popular bazat pe UNIX. Atât UNIX, cât și Linux oferă o interfață de linie de comandă puternică (CLI). Utilizatorii pot introduce comenzile în CLI pentru a efectua diverse sarcini. Există un număr mare de comenzi, iar sed și awk sunt două dintre ele. Aceste comenzi ajută la filtrarea și transformarea textului.

Domenii cheie acoperite

1. Ce este sed
     - Definiție, Exemple
2. Ce este awk
    - Definiție, Exemple
3. Care este diferența dintre sed și awk
     - Compararea diferențelor cheie

Termeni cheie

sed, awk, Sistem de operare

Ce este sed

Comanda sed permite modificarea și filtrarea fișierelor text.

Figura 1: CLI pentru a furniza comenzi în Linux și UNIX

sed '1,3 d' test1.txt

Comanda de mai sus va afișa liniile după linia 3. Nu va afișa 1, 2, 3 linii ale test1.txt.

sed 's / abc / cab /' test1.txt

Comanda de mai sus va înlocui cabina în loc de abc în fișierul test1.txt.

sed 's / one / 1 /' test1.txt

Comanda de mai sus va înlocui 1 în loc de una în fișierul test1.txt.

sed '1,2! d 'test1.txt

Aceasta va afișa numai linia 1 și linia 2.

Acestea sunt câteva exemple pentru sed. În general, sed permite utilizatorilor să efectueze filtrarea și căutarea.

Ce este awk

Comanda awk permite căutarea datelor într-un fișier și tipărirea datelor pe consola. Dacă un fișier conține mai multe coloane, este, de asemenea, posibil să găsiți date în coloane specifice. În plus, ajută la activități precum căutarea, execuția condiționată, actualizarea și filtrarea.

awk 'print' file1.txt

Comanda de mai sus va afișa întregul conținut din fișierul1.txt.  

Să presupunem că fișierul file1.txt conține mai multe coloane.

awk 'print $ 1' fișier1.txt

Această comandă imprimă prima coloană a fișierului1.txt. Implicit, comanda awk consideră un spațiu alb ca separator.

awk 'print $ 1 "" $ 3 "fișier1.txt

Comanda de mai sus imprimă prima și a treia coloană a fișierului1.txt cu un spațiu între ele.

awk 'print $ 1. $ 3 'file1.txt

Comanda de mai sus va imprima concatenarea primei și a celei de-a treia coloane.

awk '/ example / print' file1.txt

Comanda de mai sus imprimă toate liniile din fișierul file1.txt care conține exemplul cuvântului.

awk '/ [0-9] / print' fișier1.txt

Comanda de mai sus imprimă toate liniile din fișierul file1.txt care conține numere de la 0 la 9.

awk '/ ^ [0-9] / print' fișier1.txt

Aceasta va imprima liniile din fișierul1.txt care încep cu un număr.

awk '/ [0-9] $ / print' fișier1.txt

Aceasta va imprima liniile din fișierul1.txt care se termină cu un număr.

De asemenea, este posibil să verificați condiționările după cum urmează.

awk 'if ($ 1 ~ / 123 /) print' fișier1.txt

Aceasta va imprima linia în cazul în care conținutul începe cu 123.

awk 'if ($ 2 ~ / [0-9] /) imprima' file1.txt

Aceasta va imprima liniile din coloana a doua care încep cu un număr.

Acestea sunt câteva exemple de awk.

În general, awk este o comandă puternică pentru procesarea și analizarea fișierelor text.

Diferența dintre sed și awk

Definiție

Sed este un utilitar pentru linia de comandă care analizează și transformă textul folosind un limbaj de programare simplu și compact. Awk este un utilitar de linie de comandă destinat procesării textului, care permite scrierea unor programe eficiente sub formă de declarații.

Funcționalitate

Atât sed și awk permit procesarea fluxurilor de caractere pentru sarcini precum transformarea textului. The awk este mai puternic și mai robust decât sed. Este similar cu un limbaj de programare.

Complexitate

Sed este simplu și limitat în timp ce awk este mai complex și mai versatil.

Concluzie

Diferența dintre sed și awk este că sed este un utilitar de comandă care lucrează cu fluxuri de caractere pentru căutarea, filtrarea și procesarea textului, în timp ce awk este mai puternic și robust decât sed cu constructori de programare sofisticat, cum ar fi dacă / altceva, în timp ce /.

Referinţă:

1. Comandamentul AWK: Sesiunea 1: Selectați datele coloanei, Testarea lumii, 8 februarie 2017, Disponibil aici.
2. Utilizarea utilitarului Linux AWK, Frank Programmer, 25 iunie 2011, Disponibil aici.
3. Tutorial Linux / Unix || Comenzile SED în Linux de Shiva, Durga Software Solutions, 30 octombrie 2016, disponibil aici.

Datorită fotografiei:

1. "În primul rând pe Xubuntu 11.04" de Kris Kendall, Jesse Kornblum și Nick Mikus - Captură de ecran a ieșirii -h a primului domeniu (Public Domain) prin Wikimedia Commons