Caratteri Jolly

jolly

Gli utente Gnu/Linux veterani danno per scontato che tutti conoscano i caratteri Jolly, è davvero così?

I caratteri Jolly sono utilizzati per identificare con un solo carattere un range di dati e sono tendenzialmente 3:

  • * è il super Jolly e ha il significato di "0 o più caratteri qualsiasi". Quando si usa ls abbiamo tutti i file, quando si usa ls .txt abbiamo tutti i file txt
  • ? ha il significato di "un carattere qualsiasi"
  • [] all'interno delle parentesi quadre possiamo inserire un range di caratteri

Il bello è che tali caratteri possono essere concatenati.

Andiamo sul pratico, la mia cartella ha 3 file:

ls -l
    total 0
    -rw-r--r-- 1 fabrizio fabrizio 0 May 31 10:05 abcdef
    -rw-r--r-- 1 fabrizio fabrizio 0 May 31 10:07 gongolo_fuma_erba_buona.doc
    -rw-r--r-- 1 fabrizio fabrizio 0 May 31 10:06 zbcde.txt

Voglio vedere tutti i txt:

ls -l *.txt
    -rw-r--r-- 1 fabrizio fabrizio 0 May 31 10:06 zbcde.txt

Voglio vedere tutti i file con una b come secondo carattere:

ls -l ?b*
    -rw-r--r-- 1 fabrizio fabrizio 0 May 31 10:05 abcdef
    -rw-r--r-- 1 fabrizio fabrizio 0 May 31 10:06 zbcde.txt

Voglio vedere tutti i file che hanno una b o una c da qualche parte:

ls -l *[bc]*
    -rw-r--r-- 1 fabrizio fabrizio 0 May 31 10:05 abcdef
    -rw-r--r-- 1 fabrizio fabrizio 0 May 31 10:07 gongolo_fuma_erba_buona.doc
    -rw-r--r-- 1 fabrizio fabrizio 0 May 31 10:06 zbcde.txt