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.

  1. cat (Concatenate and Display Files)

La comanda cat s'utilitza per concatenar i mostrar el contingut de fitxers.

Sintaxi

cat [opcions] [fitxer...]

Exemples

# Mostrar el contingut d'un fitxer
cat fitxer.txt

# Concatenar i mostrar el contingut de diversos fitxers
cat fitxer1.txt fitxer2.txt

  1. grep (Global Regular Expression Print)

La comanda grep s'utilitza per buscar patrons dins de fitxers de text.

Sintaxi

grep [opcions] patró [fitxer...]

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

  1. sed (Stream Editor)

La comanda sed s'utilitza per editar fluxos de text de manera no interactiva.

Sintaxi

sed [opcions] 'comanda' [fitxer...]

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

  1. awk (Pattern Scanning and Processing Language)

La comanda awk s'utilitza per escanejar i processar patrons en fitxers de text.

Sintaxi

awk 'patró {acció}' [fitxer...]

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

  1. cut (Remove Sections from Each Line of Files)

La comanda cut s'utilitza per tallar seccions de cada línia d'un fitxer.

Sintaxi

cut [opcions] [fitxer...]

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

  1. sort (Sort Lines of Text Files)

La comanda sort s'utilitza per ordenar les línies d'un fitxer de text.

Sintaxi

sort [opcions] [fitxer...]

Exemples

# Ordenar un fitxer alfabèticament
sort fitxer.txt

# Ordenar un fitxer numèricament
sort -n fitxer.txt

  1. uniq (Report or Omit Repeated Lines)

La comanda uniq s'utilitza per informar o ometre línies repetides en un fitxer de text.

Sintaxi

uniq [opcions] [fitxer...]

Exemples

# Eliminar línies duplicades consecutives
uniq fitxer.txt

# Comptar les ocurrències de línies duplicades
uniq -c fitxer.txt

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

wc [opcions] [fitxer...]

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ó

grep "error" log.txt

Exercici 2

Utilitza sed per substituir totes les ocurrències de la paraula "foo" per "bar" en un fitxer anomenat data.txt.

Solució

sed 's/foo/bar/g' data.txt

Exercici 3

Utilitza awk per imprimir la segona columna d'un fitxer delimitat per espais anomenat records.txt.

Solució

awk '{print $2}' records.txt

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ó

sort items.txt | uniq -c

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.

© Copyright 2024. Tots els drets reservats