Field Processing: awk
awk este un limbaj puternic de procesare de text integrat în Linux. În forma sa cea mai simplă, împarte fiecare linie în câmpuri și te lasă să afișezi pe cele dorite.
Implicit, awk împarte după spațiul alb. Câmpurile sunt numerotate $1, $2, $3,
etc. $0 este întreaga linie.
awk '{print $1}' echipaj.txt
Aceasta afișează doar primul cuvânt din fiecare linie.
Afișarea mai multor câmpuri
awk '{print $1, $3}' date.txt
Virgula inserează un spațiu între câmpuri în output.
Separator de câmp personalizat cu -F
Dacă datele tale folosesc un alt delimitator (cum ar fi două puncte), spune-i lui awk:
awk -F: '{print $2}' /etc/passwd
Aceasta împarte după : și afișează al doilea câmp.
Adăugarea de text
awk '{print "Nume:", $1}' echipaj.txt
Nume: Voss
Nume: Tanaka
Poți combina liber șiruri literale și variabile de câmp în interiorul instrucțiunii print.
Misiune: Extragere date senzori
Inginerii au cerut o citire rapidă a numelor sectoarelor și a valorilor lor de la senzori. Nu au nevoie de coloana cu tipul citirii care încarcă afișajul.
- Folosește
awkca să afișezi doar coloanele 1 și 3 dinsenzori.dat(sectorul și valoarea), și afișează-le. - Salvează acel extras cu două coloane într-un fișier nou numit
citire.txt. - Creează un folder numit
jurnal-senzoriși mutăcitire.txtîn el. - Sortează citirea salvată numeric, după a doua coloană, astfel încât cea mai mică valoare a senzorului să apară prima.
Rezultat așteptat
jurnal-senzori/citire.txt conține fiecare nume de sector urmat de valoarea sa numerică, separate printr-un spațiu.