Dezvoltatorii Linux urmează filozofia de a crea programe mici care îndeplinesc o singură sarcină și o fac bine. Luați ca exemplu instrumentele de procesare a textului Linux, acestea sunt ușoare și au funcționalitate modulară. Chiar dacă aceste instrumente de manipulare a textului diferă în complexitate și funcționalitate, ele sunt utile într-un mediu în care interfața grafică cu utilizatorul nu este disponibilă.

Articolul acoperă cele mai bune instrumente Linux pentru a citi fișiere și a folosi expresii regulate pentru a efectua operațiuni pe textul selectat. De asemenea, acoperă funcționalitățile lor cele mai de bază și exemple pentru o mai bună înțelegere.

1. grep

grep este un utilitar Linux de manipulare a textului care caută un șir de caractere sau modele cunoscute sub numele de expresii regulate într-un fișier sau text. Instrumentul grep aparține familiei de utilități care includ egrep, fgrep și grep, dintre care fgrep este cel mai rapid dintre toate, în timp ce grep este cel mai ușor.

instagram viewer

Sintaxa generală pentru utilizarea grep este următoarea:

grep -options șir nume fișier

De exemplu, pentru a căuta cuvântul „rădăcină” în fișierul /etc/passwd:

rădăcină grep /etc/passwd

Câteva exemple standard de linie de comandă pentru a începe sunt:

Opțiuni Exemplu Descriere
-c grep -c ./bashrc Numărați numărul de linii în care există șirul
-i grep -i ./bashrc Efectuați o căutare fără majuscule pentru șirul specificat
-o grep -o fişier Tipărește numai șirul potrivit
-l grep -l "passwd" Imprimă nume de fișiere în directorul curent care se potrivesc cu modelul
-n grep -n fişier Imprimă numărul liniei de-a lungul liniei care conține șirul specificat
șir1|șir2 grep „șir1|șir2” fișier Găsiți și imprimați mai multe șiruri dintr-un fișier

În mod similar, puteți utiliza ^ metacaracter cu comanda grep pentru a afișa toate șirurile de caractere care încep cu anumite caractere.

De exemplu, următoarea comandă transmite ieșirea comenzii env ca intrare în grep și afișează variabile care încep cu „HO":

env | grep ^HO

Legate de: Exemple practice ale comenzilor Linux Grep

2. awk

awk este un limbaj puternic de scripting și un instrument de manipulare a textului din linia de comandă care poate efectua scanări rând cu linie și poate compara liniile cu modele. Sintaxa de bază a comenzii awk este o acțiune definită între un singur ghilimele și acolade urmate de numele fișierului.

awk „{action}” nume de fișier
awk '{model; action}' nume de fișier

Utilitarul caută fișierul folosind expresii regulate și realizează funcția definită în parametrul de acțiune. awk execută scriptul pe fiecare linie dacă nu setați un model, așa cum se arată mai jos:

awk '{print $1}' awk_examples.txt

...Unde $1 afișează primul câmp al awk_examples.txt fişier.

Următoarea comandă realizează funcția de imprimare pe modelul dat, înlocuind al doilea câmp "Lume" cu "Alice," și afișează întreaga linie ($0):

ecou „Bună lume” | awk '{$2="Alice"; printeaza $0}'

Ieșire:

Bună Alice

În mod similar, puteți utiliza funcția imprimați $0 din comanda de mai sus pentru a emula grep funcţionalitate.

awk '/john/{print $0}' /etc/passwd
john: x: 1001:1001::/home/john:/bin/sh

3. fel

sortare este un alt utilitar Linux de linie de comandă care vă ajută să afișați conținutul fișierului text specificat într-un format sortat. De exemplu, puteți canaliza ieșirea comenzii awk ca intrare în utilitarul de sortare, după cum urmează:

awk '{print $1}' awk_examples.txt | sortare > sortare_text.txt
cat sort_text.txt

Ieșire:

Legate de: Cum să sortați fișierele text în Linux folosind sortarea

4. sed

sed sau editor de flux preia intrarea ca un flux de caractere și efectuează filtrarea și transformările textului (șterge, înlocuiește și înlocuiește) pe textul specificat.

Puteți să-l utilizați într-un script și să editați fișiere în mod non-interactiv. Prin urmare, scopul cel mai de bază al utilitarului este înlocuirea șirului/caracterelor. Sintaxa generală este:

sed „s/string/substitution/option” fișier

Creați un fișier folosind propoziții aleatorii pentru a exersa și înțelege funcționarea acestui utilitar.

Să înlocuim apariția cuvântului „Două" pe fiecare linie a fișierului cu "2" folosind -g steag pentru înlocuirea globală, după cum urmează:

sed 's/two/2/g' sed_examples.txt > sed_examples2.txt

În mod similar, utilizați -d flag pentru a șterge o anumită linie din fișier:

sed '2d' sed_examples.txt

De asemenea, puteți înlocui șirul specificând un număr de linie (4 s/două/2/p) și imprimați numai linia înlocuită după cum urmează:

sed -n '4 s/two/2/p' sed_examples2.txt

The -n flag din comanda de mai sus dezactivează tipărirea automată a fluxului de intrare la ieșire. Puteți folosi această opțiune în favoarea dumneavoastră pentru a înlocui funcționalitatea utilitarului grep cu sed.

De exemplu, puteți modifica comanda de mai sus incluzând doar un model regex /two/p astfel încât -p flag va imprima numai liniile către fluxul de ieșire standard.

sed -n '/două/p' sed_examples2.txt

Legate de: Aceste 10 exemple sed vă vor face un utilizator puternic Linux

5. a tăia

Tăierea este un alt utilitar de linie de comandă care taie/extrage părți de text dintr-o linie sau fișier. Decupează textul pe baza unui câmp, caracter sau poziție de octet specificat și transmite rezultatul la ieșirea standard.

Utilitarul preia următoarea sintaxă:

a tăia  fişier

Folosește -b opțiunea de a tăia secțiune sau conținut folosind un octet specificat sau un interval de octeți:

cut -b 1 cut_examples.txt

Folosește -c flag pentru a extrage text prin specificarea pozițiilor caracterelor:

cut -c 1,3,5 cut_examples.txt

În cele din urmă, puteți extrage text și prin specificarea câmpurilor cu -f opțiunea și -d pentru delimitator de spațiu sau câmp:

cut -d " " -f 1 cut_examples.txt

Iată lista intervalelor cu exemple și descrieri pe care le puteți utiliza cu personajul -c și octet -b Opțiuni:

Gamă Exemplu Descriere
n- cut -c 7- nume de fișier Extrageți caracterul de la al n-lea întreg până la sfârșitul liniei
n-m cut -b 7-15 nume de fișier Extrase din întregul n-m al fiecărei linii din fișierul de intrare
-m cut -c -7 nume de fișier Extrage linii începând de la m până la sfârșitul liniei

Rețineți că nu puteți defini intervalele pentru extragerea textului utilizând câmpul -f opțiune.

Manipularea textului cu comenzi Linux

Linux oferă multe programe și instrumente pentru manipularea și lucrul în jurul fișierelor sau textului. S-ar putea să nu fie necesară învățarea lor pe toate, deoarece puteți umple cu ușurință golul cu altul odată ce aveți o strângere bună asupra unuia, cum ar fi utilizarea sed ca grep sau awk ca grep, dar acest lucru nu poate fi valabil pentru fiecare instrument.

În plus, comenzile Linux au o curbă de învățare abruptă, dar odată ce ai dezvoltat abilitățile, se pot dovedi a fi foarte utile și eficiente în viața oricărui utilizator Linux, în special a unui administrator de sistem.

8 cele mai bune aplicații terminale pentru o productivitate Linux îmbunătățită

V-ați săturat de vechea și plictisitoarea aplicație de terminal care vine preinstalată pe Linux? Consultați aceste opt aplicații terminale care vă vor îmbunătăți fluxul de lucru.

Citiți în continuare

AcțiuneTweetE-mail
Subiecte asemănătoare
  • Linux
  • Comenzi Linux
Despre autor
Rumaisa Niazi (7 articole publicate)

Rumaisa este un scriitor independent la MUO. Ea a purtat multe pălării, de la un matematician la un pasionat de securitate a informațiilor, iar acum lucrează ca analist SOC. Interesele ei includ citirea și scrierea despre noile tehnologii, distribuțiile Linux și orice despre securitatea informațiilor.

Mai multe de la Rumaisa Niazi

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Click aici pentru a te abona