Cerca cadenes o patrons dins de text sense format des de la terminal

about buscar cadenes o patrons

En el següent article anem a veure algunes eines de línia de comandaments que s'utilitzen per buscar cadenes o patrons coincidents dins d'arxius de text. Aquestes eines s'utilitzen generalment juntament amb les expressions regulars, abreujades com regex, Que són cadenes úniques per a descriure un patró de cerca.

Les expressions regulars són patrons utilitzats per trobar una determinada combinació de caràcters dins d'una cadena de text. Les expressions regulars proporcionen una manera molt flexible de cercar o reconèixer cadenes de text. Tot i que en les següents línies no veurem expressions regulars, utilitzarem patrons o cadenes.

Cerca cadenes o patrons des de la terminal

comando Grep

Grep és un acrònim de Impressió d'expressió regular global. Es tracta d'una poderosa eina per a la línia de comandes que resulta útil quan es busca una cadena específica o un patró en un arxiu. amb grep podrem utilitzar una àmplia gamma de funcions, com les que ens va explicar en aquest mateix blog un company fa un temps.

La sintaxi a utilitzar la comanda grep és bastant simple:

grep PATRON [RUTA AL ARCHIVO]

Per exemple, per buscar la cadena 'Ubuntu'En un arxiu que en aquest exemple anomenarem text.txt, Sense tenir en compte la distinció entre majúscules i minúscules, en una terminal (Ctrl + Alt + T) només haurem d'executar la comanda:

grep -i text

grep -i Ubuntu texto.txt

comando set

Sigueu és l'abreviatura de Editor de fluxos. Es tracta d'una altra eina útil per a la terminal amb la qual podrem manipular text en un arxiu. Sigueu busca, filtra i reemplaça cadenes en un arxiu donat.

La comanda set imprimeix per defecte la sortida en sortida estàndard (Sortida estàndard). Això implica que el resultat de l'execució s'imprimeix al terminal en lloc de guardar-se en un arxiu.

La comanda Sigueu es pot utilitzar de la següent manera:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Per exemple, per a substituir totes les aparicions de 'Linux'En un text per'GnuLinux', La comanda a utilitzar seria el següent:

comando set

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

Si el que busquem és redirigir la sortida a un fitxer en lloc d'imprimir-a la terminal, Utilitzarem el signe de redirecció de la següent manera:

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

La sortida de la comanda es guarda a l'arxiu sortida.txt en lloc de imprimir-se en la pantalla.

sortida comandament set

Per veure més opcions, es poden comprovar les pàgines de manual:

man set

man sed

ack

Ack és una eina de línia d'ordres ràpida escrita en Perl. Es considera un reemplaçament amigable per a la utilitat grep, Que a més genera resultats d'una manera visualment atractiva.

Per a la instal·lar ack en el nostre sistema haurem d'executar a la terminal (Ctrl + Alt + T):

instal·lar ack

sudo apt install ack

la comanda Ack busca en l'arxiu o directori les línies que contenen la coincidència per als criteris de cerca. Després ressalta la cadena corresponent. Aquesta eina té la capacitat de distingir arxius en funció de les seves extensions.

La sintaxi de la comanda Ack seria alguna cosa com el següent

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

Per exemple, per cercar el terme Linux en un arxiu, hauríem d'executar:

comandament ack recerca

ack Linux texto.txt

L'eina de cerca és bastant intel·ligent i si l'usuari no proporciona cap arxiu o directori, aquesta busca al directori i subdirectoris actuals el patró de recerca.

En el següent exemple, no es proporciona cap arxiu o directori. Ack detecta automàticament l'arxiu disponible al directori i busca el patró coincident:

ack recerca sense arxiu

ack Linux

Ripgrep

Ripgrep és una utilitat multiplataforma per buscar patrons d'expressions regulars. És més ràpida que totes les eines de recerca esmentades anteriorment, i cerca en directoris de forma recursiva patrons coincidents. També permet buscar tipus d'arxius específics. Per defecte, ripgrep ometrà arxius binaris i fitxers / directoris ocults.

Per a la instal·lar ripgrep en el sistema, no hi ha més que executar la següent comanda a la terminal (Ctrl + Alt + T):

instal·lació d'ripgrep

sudo apt install ripgrep

La sintaxi per utilitzar ripgrep és bastant senzilla:

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

Si volguéssim buscar la cadena 'Linux'En arxius ubicats dins el directori actual, només haurem d'executar la comanda:

man rg linux

rg Linux

Per veure més opcions als usuaris podem utilitzar les pàgines de manual:

man rg

man rg

Cercador de plata

Per a la instal·lar aquesta eina, En Ubuntu no tindrem més que obrir una terminal (Ctrl + Alt + T) i escriure la comanda:

instal·lació d'silversearcher-ag

sudo apt install silversearcher-ag

Silver Searcher és una eina de recerca de codi obert i multiplataforma similar a ack però amb èmfasi en la velocitat. Facilita la recerca d'una cadena específica dins dels arxius en el menor temps possible. La sintaxi a utilitzar seria:

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

Per exemple, per buscar 'Linux'A l'arxiu text.txt, Hauríem d'escriure a la terminal (Ctrl + Alt + T):

recerca amb silversearcher

ag Linux texto.txt

Per veure més opcions podrem consultar les pàgines de manual:

man silversearcher

man ag

Aquestes són només algunes de les eines de línia de comandaments més utilitzades per buscar, filtrar i manipular text en Linux.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.