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 LinuxTotes 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
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 HossainSubscriu-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 10Feu clic aquí per subscriure-us