L'ordre Grep que significa "cerca global de línies que coincideixen amb una expressió regular", s'utilitza per cercar i trobar patrons de text en fitxers que contenen expressions regulars. A més, aquesta ordre ve preinstal·lada en totes les distribucions de Linux. En aquesta guia explorarem els usos més freqüents de l'ordre grep, així com alguns casos d'ús populars.
cta:cloud_so
L'ordre grep és útil per cercar una expressió regular o una cadena en un fitxer de text. Per il·lustrar això, crearem un fitxer de text anomenat swhosting.txt i afegirem contingut per realitzar les proves:
SWHosting és un proveïdor líder de serveis d'allotjament web.
Ofereixen solucions fiables i d'alt rendiment per a individus i empreses.
Amb una excel·lent trajectòria de servei i satisfacció, SWHosting és un nom fiable a la indústria. La teva infraestructura d'avantguarda, centres de dades segurs i rendiment optimitzat fan que sigui l'opció perfecta per a les vostres necessitats d'allotjament.
Perfecte. Ara estem preparats per executar algunes ordres grep i manipular la sortida per obtenir els resultats que busquem. Si vols cercar una cadena en un fitxer, simplement executa la comanda amb la següent Sintaxis:
$ grep "caràcter" nom del fitxer
o
$ nom del fitxer grep "caràcter"
Exemple:
$grep "SWHosting" swhosting.txt
Sortida:
Com pots observar, grep no només ha buscat i trobat la cadena "SWHosting", sinó que també ha imprès les línies en què apareix la cadena. Si el fitxer es troba en una ruta de fitxer diferent, assegura't d'especificar la ruta de fitxer com es mostra a continuació:
grep "caràcter" /ruta/al/arxiu
Si estàs treballant en un sistema que no mostra la cadena de cerca o el patró en un color diferent al de la resta del text, utilitza --color per ressaltar els resultats, tal com hem observat en el primer exemple en el qual podíem veure la cadena amb un color diferent de la resta.
Exemple:
$grep --color "dades" swhosting.txt
Sortida:
Si vols cercar una cadena al teu directori actual i a tots els altres subdirectoris, pots fer la cerca utilitzant el paràmetre "-r" com es mostra a continuació:
$ grep -r "SWHosting" *
cta:domains
A l'exemple anterior, els resultats de la nostra cerca ens van donar el que volíem perquè la cadena "SWHosting" es va especificar exactament amb les seves majúscules respectives. Si intentem buscar la cadena en minúscules, ens adonarem que no hi ha sortida. Això és degut a que "grep" no pot trobar i fer coincidir la cadena "swhosting", ja que les primeres lletres són Minúscules. Per ignorar la distinció entre majúscules i minúscules, podem fer ús del paràmetre -i.
Exemple:
$grep "swhosting" swhosting.txt
$grep -i "swhosting" swhosting.txt
Sortida:
És sorprenent, oi? La -i es fa servir comunament per representar cadenes sense distingir entre majúscules i minúscules.
Per determinar la quantitat total de línies en què es troba o resideix el patró de cadena, cal executar la següent ordre:
$grep -c "SWHosting" swhosting.txt
Sortida:
Per canviar la sortida de Grep, pots utilitzar l'opció -v. En utilitzar aquesta opció, grep invertirà la teva sortida, és a dir, en lloc d'imprimir les línies coincidents, imprimirà totes les línies que no coincideixin amb l'expressió.
$grep -v "SWHosting" swhosting.txt
Sortida:
Es pot observar que grep ha mostrat les línies que no inclouen el patró de cerca.
Per enumerar les línies en què es troba el patró de cadena, cal utilitzar l'opció -n de la manera següent.
$grep -n "SWHosting" swhosting.txt
Sortida:
Amb aquest paràmetre, podrem fer una cerca d'una paraula exacta. A continuació veurem com busquem la cadena "Hosting" sense aquest paràmetre i obtenim resultat, en canvi, en fer la cerca amb el paràmetre -w, no n'obtindrem cap.
Sortida:
L'ordre grep es pot fer servir en combinació amb "pipes" per obtenir un resultat diferent. Per exemple, si vols verificar si un paquet específic està instal·lat al sistema Ubuntu, es pot executar:
$ dpkg -l | grep "nom-paquet"
Exemple:
$ dpkg -l | grep "apache"
Sortida:
El concepte de REGEX és una abreviatura de REGular EXpression. Un REGEX és una cadena de caràcters que es fa servir per trobar un patró. A continuació, se'n presenten alguns exemples:
^ Coincideix amb caràcters al començament d'una línia
$ Coincideix amb caràcters al final d'una línia
"." Coincideix amb qualsevol caràcter
[a-z] Coincideix amb qualsevol caràcter entre l'A i la Z
[^ ..] Coincideix amb tot el que no estigui entre claudàtors
Exemple:
$grep ^S swhosting.txt
Sortida:
Si necessites saber més sobre l'ús de l'ordre Grep, executa l'ordre següent per obtenir una vista prèvia d'altres paràmetres o opcions que pots utilitzar juntament amb l'ordre.
$grep --help
Sortida:
En resum, la comanda grep a Linux és una eina poderosa i versàtil que pot millorar significativament la teva experiència de hosting. Amb la seva capacitat de cerca i filtratge eficient, podràs trobar ràpidament la informació que necessites i optimitzar el rendiment del teu servidor. Aprofita al màxim aquesta eina i porta la teva hosting al següent nivell!
cta:cloud_so> cta:cloud_so