10 Exemples pràctics de l'ordre Grep de Linux

10 Exemples pràctics de l'ordre Grep de Linux

L'ordre grep proporciona accés a la utilitat grep, una potent eina de processament de fitxers que s'utilitza per trobar patrons en fitxers de text. Té molts casos d’ús pràctics i és sens dubte un dels comandaments Linux més utilitzats. Aquesta guia il·lustra algunes ordres grep de Linux senzilles però útils que tenen usos reals.





Fitxer d'exemple per a la demostració

Hem creat un fitxer de referència per ajudar els lectors a entendre grep amb més eficàcia. Podeu crear una còpia d’aquest fitxer emetent la següent ordre de shell al vostre terminal.





Imessage no funciona en MacBook Air
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. Cerqueu text a fitxers

Per cercar el patró de text en un fitxer, simplement executeu grep seguit del nom del patró. A més, especifiqueu el nom del fitxer que conté el text.





grep 'email' test-file

Aquesta ordre mostrarà la línia al nostre fitxer fitxer de prova que conté la paraula correu electrònic . També podeu cercar el mateix text en diversos fitxers mitjançant grep.

grep 'example' /usr/share/dict/american-english /usr/share/dict/british-english

L'ordre anterior mostra totes les instàncies de la paraula exemple al anglès americà i anglès britànic fitxers de diccionari.



2. Cerqueu paraules coincidents exactes

L'ordre Linux grep que es mostra a l'exemple anterior també llista les línies amb coincidències parcials. Utilitzeu l'ordre següent si només necessiteu les ocurrències exactes d'una paraula.

grep -w 'string' test-file

El -en o bé --word-regexp l'opció de grep limita la sortida només a coincidències exactes. Grep consta d'algunes marques addicionals que també es poden utilitzar amb l'ordre per defecte.





Relacionat: Com va obtenir el seu nom Grep? La història darrere de la creació de Grep

3. No feu cas a les distincions entre majúscules i minúscules

Per defecte, grep cerca patrons de manera sensible a majúscules i minúscules. Tanmateix, és possible que vulgueu desactivar-ho si no sabeu en quin cas és el patró prèviament.





grep -i 'this' test-file

Utilitzar el -i o bé --ignore-case opció per desactivar la sensibilitat entre majúscules i minúscules.

4. Compteu el nombre de patrons

El -c bandera significa comptar . Mostra el nombre de coincidències que s'han trobat per a un patró concret. Els administradors poden utilitzar-lo per recuperar informació específica sobre el sistema.

Es pot fer pipa l'ordre ps amb grep per comptar els processos que pertanyen a l'usuari actual.

ps -ef | grep -c $USER

L'ordre següent mostra el nombre de fitxers MP3 fitxers presents en un directori.

ls ~/Music | grep -c .mp3

5. Mostra els números de línia que contenen coincidències

És possible que vulgueu trobar els números de línia que contenen una concordança determinada. Utilitzar el -n o bé --linea-número opció de grep per aconseguir-ho.

cat /etc/passwd | grep -n rubaiat

Aquesta opció és particularment útil per depurar codis font i resoldre problemes de fitxers de registre. Per mostrar tots els números de les línies al fitxer ~ / .vimrc que s'utilitzen per configurar l'editor de text Vim:

grep -n 'set' ~/.vimrc

6. Cerqueu noms de fitxers mitjançant extensions

Per obtenir una llista de tots els fitxers MP3 fitxers presents al fitxer ~ / Música directori:

ls ~/Music/ | grep '.mp3'

Podeu substituir .mp3 amb qualsevol altra extensió per localitzar fitxers específics. La següent ordre llista tots els fitxers php fitxers presents al directori de treball actual.

on puc descarregar cançons gratis
ls | grep '.php'

7. Cerqueu patrons a fitxers comprimits

L'ordre grep de Linux també pot trobar patrons dins de fitxers comprimits. Haureu d'utilitzar el fitxer zgrep ordre per fer-ho, però. En primer lloc, creeu un arxiu comprimit del nostre fitxer de prova escrivint:

gzip test-file

Ara podeu cercar text o altres patrons a l’arxiu resultant.

zgrep email test-file.gz

8. Cerqueu adreces de correu electrònic

Els administradors també poden llistar adreces de correu electrònic de fitxers de text mitjançant l’ordre Linux grep. L'exemple següent ho fa cercant un patró d'expressió regular.

grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-z]{2,}' test-file

Podeu trobar expressions regulars per fer feines similars o les podeu crear vosaltres mateixos si sabeu com funcionen.

9. Cerqueu números de telèfon amb Grep

Podeu utilitzar expressions regulars grep per filtrar números de telèfon d'un fitxer de text. Tingueu en compte que haureu de modificar el patró perquè coincideixi amb el tipus de números de telèfon que necessiteu.

grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file

L'esmentada ordre filtra els números de telèfon nord-americans de deu dígits.

10. Cerqueu URL dels fitxers font

Podem aprofitar el poder de grep per enumerar els URL que es troben als fitxers de text. La comanda que es mostra a continuació imprimeix tots els URL presents al fitxer fitxer de prova .

grep -E '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

Tornem a utilitzar el fitxer -I opció per a expressions regulars ampliades. També podeu utilitzar el fitxer egrep per evitar afegir això.

egrep '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

Dominar l'ordre Grep de Linux

Hem presentat diversos exemples útils de l'ordre grep de Linux per abordar problemes del món real. Tot i que aquests exemples il·lustren el poder de grep per al processament de text, haureu de dominar les expressions regulars si voleu ser molt productius amb grep.

De vegades, els usuaris de Linux topen amb determinades situacions en què no recorden les diverses opcions relacionades amb una ordre. Amb sort, el sistema operatiu Linux us proporciona maneres d’obtenir ajuda en línia de comandes per a gairebé totes les utilitats del sistema.

Compartir Compartir Tweet Correu electrònic 7 maneres d'obtenir ajuda a la línia d'ordres a Linux

Totes les ordres essencials per aprendre sobre les ordres de Linux des de la línia d'ordres

Llegiu a continuació
Temes relacionats
  • Linux
  • Linux
  • Ordres de Linux
Sobre l'autor Rubaiat Hossain(39 articles publicats)

Rubaiat és un graduat en CS amb una forta passió pel codi obert. A part de ser un veterà d’Unix, també es dedica a la seguretat de la xarxa, a la criptografia i a la programació funcional. És un àvid col·leccionista de llibres de segona mà i té una admiració interminable pel rock clàssic.

Més de Rubaiat Hossain

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

executar Windows XP a Windows 10
Feu clic aquí per subscriure-us