Introducció

En aquest tema, aprendrem a utilitzar comodins i expressions regulars a la línia de comandes de Linux. Aquests són eines poderoses que permeten cercar, manipular i gestionar fitxers i dades de manera eficient.

Comodins

Els comodins són caràcters especials que es poden utilitzar per representar altres caràcters en noms de fitxers i directoris. Els més comuns són:

  • * (asterisc): Representa zero o més caràcters.
  • ? (interrogant): Representa exactament un caràcter.
  • [ ] (claus): Representa un conjunt de caràcters.

Exemples de Comodins

  1. Asterisc (*)

    ls *.txt
    

    Aquest comandament llista tots els fitxers amb extensió .txt al directori actual.

  2. Interrogant (?)

    ls file?.txt
    

    Aquest comandament llista fitxers com file1.txt, file2.txt, etc., però no file10.txt.

  3. Claus ([ ])

    ls file[1-3].txt
    

    Aquest comandament llista file1.txt, file2.txt i file3.txt.

Expressions Regulars

Les expressions regulars (regex) són patrons utilitzats per cercar i manipular text. Són més potents i flexibles que els comodins.

Components Bàsics de les Expressions Regulars

  • . (punt): Representa qualsevol caràcter excepte una nova línia.
  • * (asterisc): Representa zero o més repeticions del caràcter anterior.
  • ^ (circumflex): Indica el començament d'una línia.
  • $ (dòlar): Indica el final d'una línia.
  • [ ] (claus): Representa un conjunt de caràcters.
  • | (barra vertical): Actua com un operador OR.
  • () (parèntesis): Agrupa parts de l'expressió.

Exemples d'Expressions Regulars

  1. Punt (.)

    grep 'f.t' fitxer.txt
    

    Aquest comandament cerca qualsevol línia que contingui f seguit de qualsevol caràcter i després t.

  2. Asterisc (*)

    grep 'fo*' fitxer.txt
    

    Aquest comandament cerca qualsevol línia que contingui f seguit de zero o més o.

  3. Circumflex (^)

    grep '^Hola' fitxer.txt
    

    Aquest comandament cerca línies que comencin amb Hola.

  4. Dòlar ($)

    grep 'adéu$' fitxer.txt
    

    Aquest comandament cerca línies que acabin amb adéu.

  5. Claus ([ ])

    grep 'f[aeiou]t' fitxer.txt
    

    Aquest comandament cerca línies que continguin f seguit d'una vocal i després t.

  6. Barra Vertical (|)

    grep 'gat|gos' fitxer.txt
    

    Aquest comandament cerca línies que continguin gat o gos.

  7. Parèntesis (())

    grep 'f(o|a)t' fitxer.txt
    

    Aquest comandament cerca línies que continguin fot o fat.

Exercicis Pràctics

Exercici 1: Utilitzant Comodins

  1. Llista tots els fitxers amb extensió .log al directori actual.

    ls *.log
    
  2. Llista tots els fitxers que comencin amb data i tinguin exactament 5 caràcters en el seu nom.

    ls data?.*
    

Exercici 2: Utilitzant Expressions Regulars

  1. Cerca totes les línies que comencin amb Error en un fitxer anomenat log.txt.

    grep '^Error' log.txt
    
  2. Cerca totes les línies que continguin una data en format dd/mm/yyyy en un fitxer anomenat data.txt.

    grep '[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}' data.txt
    

Solucions als Exercicis

Solució Exercici 1

  1. ls *.log
    

    Aquest comandament llista tots els fitxers amb extensió .log.

  2. ls data?.*
    

    Aquest comandament llista tots els fitxers que comencin amb data i tinguin exactament 5 caràcters en el seu nom.

Solució Exercici 2

  1. grep '^Error' log.txt
    

    Aquest comandament cerca totes les línies que comencin amb Error en el fitxer log.txt.

  2. grep '[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}' data.txt
    

    Aquest comandament cerca totes les línies que continguin una data en format dd/mm/yyyy en el fitxer data.txt.

Conclusió

Els comodins i les expressions regulars són eines essencials per a qualsevol usuari de Linux. Amb la pràctica, es poden utilitzar per realitzar cerques i manipulacions de text complexes de manera eficient. En el proper tema, explorarem el piping i la redirecció, que ens permetran combinar comandes per a una major flexibilitat i potència.

Domini de Linux: De Principiant a Avançat

Mòdul 1: Introducció a Linux

Mòdul 2: Comandes Bàsiques de Linux

Mòdul 3: Habilitats Avançades de la Línia de Comandes

Mòdul 4: Scripting de Shell

Mòdul 5: Administració del Sistema

Mòdul 6: Xarxes i Seguretat

Mòdul 7: Temes Avançats

Mòdul 8: Projectes Pràctics

© Copyright 2024. Tots els drets reservats