Căutați șiruri sau modele în text simplu de la terminal

despre căutarea de șiruri sau modele

În articolul următor vom vedea câteva instrumente din linia de comandă utilizate pentru a găsi șiruri sau modele potrivite în fișierele text. Aceste instrumente sunt utilizate în general împreună cu expresii regulate, prescurtate ca REGEX, care sunt șiruri unice pentru a descrie un model de căutare.

Expresiile regulate sunt modele utilizate pentru a găsi o anumită combinație de caractere într-un șir de text. Expresiile regulate oferă un mod foarte flexibil de căutare sau recunoaștere a șirurilor de text. Deși în rândurile următoare nu vom vedea expresii regulate, vom folosi modele sau șiruri.

Căutați șiruri sau modele de la terminal

Comanda Grep

Grep este un acronim pentru Imprimare globală a expresiei regulate. Acesta este un instrument puternic de linie de comandă, care este util atunci când căutați un șir sau un model specific într-un fișier. Cu grep vom putea folosi o gamă largă de funcții, precum cele pe care ni le-a explicat un coleg în acest blog cu ceva timp în urmă.

Sintaxa pentru utilizarea comenzii grep este destul de simplă:

grep PATRON [RUTA AL ARCHIVO]

De exemplu, pentru a căuta șirul „Ubuntu'într-un fișier pe care în acest exemplu îl vom apela text.txt, fără a lua în considerare distincția între majuscule și minuscule, într-un terminal (Ctrl + Alt + T) va trebui doar să executăm comanda:

grep -i text

grep -i Ubuntu texto.txt

Comandă sed

Setea este prescurtarea Editor de flux. Este un alt instrument util pentru terminal cu ajutorul căruia putem manipula textul dintr-un fișier. Sed caută, filtrează și înlocuiește șirurile într-un fișier dat.

Comanda sed imprimă implicit ieșirea în Stdout (Ieșire standard). Aceasta implică faptul că rezultatul execuției este tipărit pe terminal în loc să fie salvat într-un fișier.

Comanda Sed poate fi utilizată după cum urmează:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

De exemplu, pentru a înlocui toate aparițiile „Linux„într-un text de”Linux', comanda de utilizat ar fi următoarea:

Comandă sed

sed 's/Linux/GnuLinux/g' texto.txt

Dacă ceea ce căutăm este redirecționați ieșirea către un fișier în loc să îl imprimați la terminal, vom folosi semnul de redirecționare după cum urmează:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

Ieșirea comenzii este salvată în fișier output.txt în loc să fie tipărite pe ecran.

ieșire comandă sed

Pentru a vedea mai multe opțiuni, puteți consultați paginile de manual:

om însetat

man sed

ack

Ack este un instrument rapid de linie de comandă scris în Perl. Este considerat un înlocuitor prietenos pentru utilitarul grep, care generează și rezultate într-un mod atractiv din punct de vedere vizual.

la instalați ack în sistemul nostru va trebui să executăm în terminal (Ctrl + Alt + T):

instalați ack

sudo apt install ack

Comanda Ack caută în fișier sau director liniile care conțin potrivirea pentru criteriile de căutare. Apoi evidențiați șirul corespunzător. Acest instrument are capacitatea de a distinge fișierele pe baza extensiilor lor.

Sintaxa comenzii Ack ar fi ceva de genul următor

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

De exemplu, pentru a căuta termenul Linux într-un fișier, ar trebui să executăm:

comandă ack căutare

ack Linux texto.txt

Instrumentul de căutare este destul de inteligent și dacă utilizatorul nu furnizează niciun fișier sau directoare, el caută în directorul și subdirectoarele actuale modelul de căutare.

În exemplul următor, nu este furnizat niciun fișier sau director. Ack detectează automat fișierul disponibil în director și caută modelul de potrivire:

căutare ack fără fișier

ack Linux

ripgrep

ripgrep este un utilitar multiplataforma pentru a căuta modele de expresie regulată. Este mai rapid decât toate instrumentele de căutare menționate mai sus și caută în directoare recursiv modelele potrivite. De asemenea, vă permite să căutați anumite tipuri de fișiere. În mod implicit, ripgrep va sări peste binare și fișiere / directoare ascunse.

la instalați ripgrep pe sistem, tot ce trebuie să faceți este să executați următoarea comandă în terminal (Ctrl + Alt + T):

instalarea ripgrep

sudo apt install ripgrep

Sintaxa pentru utilizarea ripgrep este destul de simplă:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Dacă am vrea să căutăm lanțulLinux'în fișiere situate în directorul curent, va trebui să executăm numai comanda:

manrg linux

rg Linux

Pentru a vedea mai multe opțiuni, utilizatorii pot folosi pagini de om:

om rg

man rg

Căutător de argint

la instalați acest instrumentÎn Ubuntu va trebui doar să deschidem un terminal (Ctrl + Alt + T) și să scriem comanda:

instalare silversearcher-ag

sudo apt install silversearcher-ag

Silver Searcher este un instrument de căutare open-source multiplataforma, similar cu ack, dar cu accent pe viteză. Este ușor să găsiți un șir specific în fișiere în cel mai scurt timp posibil. Sintaxa de utilizat ar fi:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

De exemplu, pentru a căuta „Linux'în fișier text.txt, ar trebui să scriem în terminal (Ctrl + Alt + T):

căutați cu silversearcher

ag Linux texto.txt

Pentru a vedea mai multe opțiuni putem consulta pagini de om:

om de argint cercetător

man ag

Acestea sunt doar câteva dintre cele mai utilizate instrumente din linia de comandă pentru căutarea, filtrarea și manipularea textului în Linux.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.