Elgrep>L'ordre a Unix/Linux és una eina poderosa que s'utilitza per cercar i manipular patrons de text dins dels fitxers. El seu nom es deriva de l'ordre ed (editor) g/re/p (cerca globalment una expressió regular i imprimeix línies coincidents), que reflecteix la seva funcionalitat bàsica.grep>és àmpliament utilitzat per programadors, administradors de sistemes i usuaris per la seva eficiència i versatilitat en el maneig de dades de text. En aquest article, explorarem els diferents aspectes delgrep>comandament.
Taula de contingut
- Sintaxi de l'ordre grep a Unix/Linux
- Opcions disponibles a l'ordre grep
- Exemple pràctic de l'ordre grep a Linux
- 1. Cerca que no distingeix entre majúscules i minúscules
- 2. Mostra el recompte del nombre de coincidències amb grep
- 3. Mostra els noms dels fitxers que coincideixen amb el patró mitjançant grep
- 4. Comprovació de les paraules senceres en un fitxer mitjançant grep
- 5. Mostrar només el patró coincident amb grep
- 6. Mostra el número de línia mentre es mostra la sortida utilitzant grep -n
- 7. Invertint la concordança de patró utilitzant grep
- 8. Relacionar les línies que comencen amb una cadena mitjançant grep
- 9. Relacionar les línies que acaben amb una cadena mitjançant grep
- 10.Especifica l'expressió amb l'opció -e
- 11. Opció de fitxer -f Pren els patrons del fitxer, un per línia
- 12. Imprimeix n línies específiques des d'un fitxer amb grep
- 13. Cerca recursivament un patró al directori
Sintaxi de l'ordre grep a Unix/Linux
La sintaxi bàsica del ` grep`> la comanda és la següent:
grep [options] pattern [files]>
Aquí,
[> options> ]>: són senyals de línia d'ordres que modifiquen el comportament degrep>.
[> pattern> ]>: Aquesta és l'expressió regular que voleu cercar.
[> file> ]>: aquest és el nom dels fitxers als quals voleu cercar. Podeu especificar diversos fitxers per a la cerca simultània.
Opcions disponibles a l'ordre grep
| Opcions | Descripció |
|---|---|
| -c | Això imprimeix només un recompte de les línies que coincideixen amb un patró |
| -h | Mostra les línies coincidents, però no els noms dels fitxers. |
| – i | Ignora, cas per coincidir |
| -l | Mostra només una llista de noms de fitxer. |
| -n | Mostra les línies coincidents i els seus números de línia. |
| -en | Això imprimeix totes les línies que no coincideixen amb el patró |
| -e exp | Especifica l'expressió amb aquesta opció. Es pot utilitzar diverses vegades. |
| -f fitxer | Pren patrons del fitxer, un per línia. |
| -I | Tracta el patró com una expressió regular estesa (ERE) |
| -En | Relaciona paraula sencera |
| -O | Imprimiu només les parts coincidents d'una línia coincident, amb cadascuna d'aquestes parts en una línia de sortida independent. |
| -A n | Imprimeix la línia i nlines cercades després del resultat. |
| -B n | Imprimeix la línia cercada i la línia n abans del resultat. |
| -C n | Imprimeix la línia cercada i n línies després abans del resultat. |
Exemples d'ordres
Considereu el fitxer següent com a entrada.
cat>geekfile.txt>>>Unix és un gran sistema operatiu. Unix es va desenvolupar als laboratoris Bell.
aprendre el sistema operatiu.
Unix linux quin trieu.
unix és fàcil d'aprendre.unix és un sistema operatiu multiusuari.Aprendre unix.unix és un poderós.
Exemple pràctic de l'ordre grep a Linux
1. Cerca que no distingeix entre majúscules i minúscules
L'opció -i permet cercar una cadena sense distinció de majúscules i minúscules al fitxer donat. Coincideix amb paraules com UNIX, Unix, unix.
Sortida:

Cerca sense distinció entre majúscules i minúscules
2. Mostra el recompte del nombre de coincidències amb grep
Podem trobar el nombre de línies que coincideix amb la cadena/patró donat
grep -c 'unix' geekfile.txt>
Sortida:

Mostra el nombre de recompte dels partits
3. Mostra els noms dels fitxers que coincideixen amb el patró mitjançant grep
Només podem mostrar els fitxers que contenen la cadena/patró donat.
grep -l 'unix' *>
o
grep -l 'unix' f1.txt f2.txt f3.xt f4.txt>
Sortida:

El nom del fitxer que coincideix amb el patró
4. Comprovació de les paraules senceres en un fitxer mitjançant grep
De manera predeterminada, grep coincideix amb la cadena/patró donat encara que es trobi com a subcadena en un fitxer. L'opció -w de grep fa que coincideixi només amb les paraules senceres.
grep -w 'unix' geekfile.txt>
Sortida:

comprovació de paraules senceres en un fitxer
5. Mostrar només el patró coincident amb grep
Per defecte, grep mostra tota la línia que té la cadena coincident. Podem fer que el grep mostri només la cadena coincident utilitzant l'opció -o.
bucle del programa java
grep -o 'unix' geekfile.txt>
Sortida:

Es mostra només el patró coincident
6. Mostra el número de línia mentre es mostra la sortida utilitzant grep -n
Per mostrar el número de línia del fitxer amb la línia coincident.
grep -n 'unix' geekfile.txt>
Sortida:

Mostra el número de línia mentre es mostra la sortida
7. Invertint la concordança de patró utilitzant grep
Podeu mostrar les línies que no coincideixen amb el patró de cadena de cerca especificat mitjançant l'opció -v.
grep -v 'unix' geekfile.txt>
Sortida:

Invertint la coincidència de patró
8. Relacionar les línies que comencen amb una cadena mitjançant grep
El patró d'expressió regular ^ especifica l'inici d'una línia. Això es pot utilitzar a grep per fer coincidir les línies que comencen amb la cadena o el patró donat.
grep '^unix' geekfile.txt>
Sortida:

Coincidint amb les línies que comencen amb una corda
9. Relacionar les línies que acaben amb una cadena mitjançant grep
El patró d'expressió regular $ especifica el final d'una línia. Això es pot utilitzar a grep per fer coincidir les línies que acaben amb la cadena o el patró donat.
grep 'os$' geekfile.txt>
10.Especifica l'expressió amb l'opció -e
Es pot utilitzar diverses vegades:
grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt>
11. Opció de fitxer -f Pren els patrons del fitxer, un per línia
cat pattern.txt>
Agarwal
Aggarwal
Agrawal
grep –f pattern.txt geekfile.txt>
12. Imprimeix n línies específiques des d'un fitxer amb grep
-A imprimeix la línia cercada i n línies després del resultat, -B imprimeix la línia cercada i n línies abans del resultat, i -C imprimeix la línia cercada i n línies després i abans del resultat.
Sintaxi:
grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file]>
Exemple:
grep -A1 learn geekfile.txt>
Sortida:

Imprimeix n línies específiques d'un fitxer
13. Cerca recursivament un patró al D irectoria
-R imprimeix el patró cercat al directori donat de forma recursiva a tots els fitxers.
Sintaxi:
grep -R [Search] [directory]>
Exemple:
grep -iR geeks /home/geeks>
Sortida:
./geeks2.txt:Well Hello Geeks ./geeks1.txt:I am a big time geek ---------------------------------- -i to search for a string case insensitively -R to recursively check all the files in the directory.>
Conclusió
En aquest article hem parlat degrep>comanda a Linux, que és una potent eina de cerca de text que utilitza expressions regulars per trobar patrons o text als fitxers. Ofereix diverses opcions com la insensibilitat a majúscules i minúscules, el recompte de coincidències i la llista de noms de fitxers. Amb la possibilitat de cercar recursivament, utilitzar marques d'expressió regular i personalitzar la sortida,grep>és una eina vital perquè els usuaris de Linux gestionen de manera eficient les tasques relacionades amb el text. Masteringgrep>millora la vostra capacitat de treballar amb dades de text a l'entorn Linux.