Les expressions regulars (regex) són una eina potent per a la manipulació i cerca de text. En aquest tema, aprendrem a utilitzar expressions regulars en Bash per a realitzar cerques complexes i manipulacions de text.
Continguts
- Què són les Expressions Regulars?
- Sintaxi Bàsica de les Expressions Regulars
- Comandes de Bash que Utilitzen Expressions Regulars
- Exemples Pràctics
- Exercicis Pràctics
- Què són les Expressions Regulars?
Les expressions regulars són patrons utilitzats per a coincidir amb seqüències de caràcters dins de cadenes de text. Són molt útils per a tasques com la validació de dades, la cerca i substitució de text, i l'extracció d'informació.
- Sintaxi Bàsica de les Expressions Regulars
Caràcters Especials
Caràcter | Descripció |
---|---|
. |
Coincideix amb qualsevol caràcter excepte el salt de línia |
^ |
Coincideix amb el començament de la línia |
$ |
Coincideix amb el final de la línia |
* |
Coincideix amb zero o més repeticions del caràcter anterior |
+ |
Coincideix amb una o més repeticions del caràcter anterior |
? |
Coincideix amb zero o una repetició del caràcter anterior |
[] |
Coincideix amb qualsevol dels caràcters dins dels claudàtors |
` | ` |
() |
Agrupa una part de l'expressió regular |
Exemples de Patrons
a.b
coincideix amb qualsevol cadena que contingui 'a' seguit de qualsevol caràcter i després 'b' (ex:acb
,a1b
).^abc
coincideix amb qualsevol cadena que comenci amb 'abc'.xyz$
coincideix amb qualsevol cadena que acabi amb 'xyz'.a*
coincideix amb zero o més 'a' (ex: ``,a
,aaa
).[0-9]
coincideix amb qualsevol dígit.
- Comandes de Bash que Utilitzen Expressions Regulars
grep
La comanda grep
s'utilitza per a cercar text dins de fitxers utilitzant expressions regulars.
sed
La comanda sed
s'utilitza per a l'edició de text en fluxos de dades.
awk
La comanda awk
és una eina potent per a la manipulació de text i dades.
- Exemples Pràctics
Exemple 1: Cercar Línies que Comencen amb un Caràcter Específic
Aquest exemple cerca totes les línies en fitxer.txt
que comencen amb la lletra 'A'.
Exemple 2: Substituir Text amb sed
Aquest exemple substitueix totes les ocurrències de 'foo' per 'bar' en fitxer.txt
.
Exemple 3: Filtrar Línies amb awk
Aquest exemple imprimeix totes les línies en fitxer.txt
que contenen la paraula 'error'.
- Exercicis Pràctics
Exercici 1: Cercar Adreces de Correu Electrònic
Escriu una comanda grep
per a cercar adreces de correu electrònic en un fitxer correus.txt
.
Exercici 2: Substituir Números de Telèfon
Escriu una comanda sed
per a substituir números de telèfon en el format (123) 456-7890
per 123-456-7890
en un fitxer telefons.txt
.
Exercici 3: Filtrar Línies amb Data
Escriu una comanda awk
per a filtrar línies que contenen una data en el format YYYY-MM-DD
en un fitxer registre.txt
.
Conclusió
Les expressions regulars són una eina essencial per a qualsevol programador que treballi amb text. Amb la pràctica, es poden utilitzar per a realitzar cerques i manipulacions de text molt complexes de manera eficient. En aquest tema, hem cobert la sintaxi bàsica de les expressions regulars, comandes de Bash que les utilitzen, i hem proporcionat exemples i exercicis pràctics per a reforçar els conceptes apresos.
Curs de Programació en Bash
Mòdul 1: Introducció a Bash
- Què és Bash?
- Configuració del teu Entorn
- Navegació Bàsica per la Línia de Comandes
- Entenent la Shell
Mòdul 2: Comandes Bàsiques de Bash
- Operacions amb Fitxers i Directoris
- Comandes de Processament de Text
- Permisos i Propietat de Fitxers
- Redirecció i Piping
Mòdul 3: Conceptes Bàsics de Scripting
Mòdul 4: Scripting Intermedi
Mòdul 5: Tècniques Avançades de Scripting
- Operacions Avançades amb Fitxers
- Gestió de Processos
- Gestió d'Errors i Depuració
- Expressions Regulars
Mòdul 6: Treballant amb Eines Externes
Mòdul 7: Automatització i Programació
- Treballs Cron
- Automatització de Tasques
- Scripts de Còpia de Seguretat i Restauració
- Monitorització i Registre
Mòdul 8: Millors Pràctiques i Optimització
- Escriure Codi Llegible
- Optimització de Scripts en Bash
- Consideracions de Seguretat
- Control de Versions amb Git