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.txtExercicis 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
