En aquest tema, aprendrem a utilitzar diverses comandes de Bash per processar i manipular text. Aquestes comandes són essencials per a la gestió de fitxers de text, l'anàlisi de dades i l'automatització de tasques. Les comandes que veurem inclouen cat
, grep
, sed
, awk
, cut
, sort
, uniq
, i wc
.
cat
(Concatenate and Display Files)
cat
(Concatenate and Display Files)La comanda cat
s'utilitza per concatenar i mostrar el contingut de fitxers.
Sintaxi
Exemples
# Mostrar el contingut d'un fitxer cat fitxer.txt # Concatenar i mostrar el contingut de diversos fitxers cat fitxer1.txt fitxer2.txt
grep
(Global Regular Expression Print)
grep
(Global Regular Expression Print)La comanda grep
s'utilitza per buscar patrons dins de fitxers de text.
Sintaxi
Exemples
# Buscar una paraula en un fitxer grep "paraula" fitxer.txt # Buscar una paraula en tots els fitxers d'un directori grep "paraula" *.txt # Buscar una paraula de manera insensible a majúscules i minúscules grep -i "paraula" fitxer.txt
sed
(Stream Editor)
sed
(Stream Editor)La comanda sed
s'utilitza per editar fluxos de text de manera no interactiva.
Sintaxi
Exemples
# Substituir la primera ocurrència d'una paraula en cada línia sed 's/antiga/nova/' fitxer.txt # Substituir totes les ocurrències d'una paraula en cada línia sed 's/antiga/nova/g' fitxer.txt # Eliminar línies que continguin un patró sed '/patró/d' fitxer.txt
awk
(Pattern Scanning and Processing Language)
awk
(Pattern Scanning and Processing Language)La comanda awk
s'utilitza per escanejar i processar patrons en fitxers de text.
Sintaxi
Exemples
# Imprimir la primera columna de cada línia awk '{print $1}' fitxer.txt # Imprimir línies que continguin un patró awk '/patró/ {print}' fitxer.txt
cut
(Remove Sections from Each Line of Files)
cut
(Remove Sections from Each Line of Files)La comanda cut
s'utilitza per tallar seccions de cada línia d'un fitxer.
Sintaxi
Exemples
# Tallar la primera columna (camp) d'un fitxer delimitat per tabuladors cut -f1 fitxer.txt # Tallar els primers 5 caràcters de cada línia cut -c1-5 fitxer.txt
sort
(Sort Lines of Text Files)
sort
(Sort Lines of Text Files)La comanda sort
s'utilitza per ordenar les línies d'un fitxer de text.
Sintaxi
Exemples
# Ordenar un fitxer alfabèticament sort fitxer.txt # Ordenar un fitxer numèricament sort -n fitxer.txt
uniq
(Report or Omit Repeated Lines)
uniq
(Report or Omit Repeated Lines)La comanda uniq
s'utilitza per informar o ometre línies repetides en un fitxer de text.
Sintaxi
Exemples
# Eliminar línies duplicades consecutives uniq fitxer.txt # Comptar les ocurrències de línies duplicades uniq -c fitxer.txt
wc
(Word, Line, Character, and Byte Count)
wc
(Word, Line, Character, and Byte Count)La comanda wc
s'utilitza per comptar paraules, línies, caràcters i bytes en fitxers de text.
Sintaxi
Exemples
# Comptar el nombre de línies, paraules i caràcters d'un fitxer wc fitxer.txt # Comptar només el nombre de línies wc -l fitxer.txt # Comptar només el nombre de paraules wc -w fitxer.txt
Exercicis Pràctics
Exercici 1
Utilitza grep
per trobar totes les línies que continguin la paraula "error" en un fitxer de registre anomenat log.txt
.
Solució
Exercici 2
Utilitza sed
per substituir totes les ocurrències de la paraula "foo" per "bar" en un fitxer anomenat data.txt
.
Solució
Exercici 3
Utilitza awk
per imprimir la segona columna d'un fitxer delimitat per espais anomenat records.txt
.
Solució
Exercici 4
Utilitza sort
i uniq
per trobar les línies úniques en un fitxer anomenat items.txt
i comptar quantes vegades apareix cada línia.
Solució
Conclusió
En aquesta secció, hem après a utilitzar diverses comandes de Bash per processar i manipular text. Aquestes eines són fonamentals per a qualsevol programador que treballi amb fitxers de text i dades. Practica aquestes comandes amb diferents fitxers i dades per familiaritzar-te amb les seves funcionalitats i opcions.
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