GNU/Linux >> Linux Esercitazione >  >> Linux

10 esempi pratici che utilizzano caratteri jolly per abbinare i nomi di file in Linux

Caratteri jolly (indicati anche come meta caratteri) sono simboli o caratteri speciali che rappresentano altri caratteri. Puoi usarli con qualsiasi comando come ls command o rm command per elencare o rimuovere file che corrispondono a un determinato criterio, in modo ricettivo.

Leggi anche:10 utili esempi pratici sul concatenamento degli operatori in Linux

Questi caratteri jolly vengono interpretati dalla shell e i risultati vengono restituiti al comando eseguito. Ci sono tre caratteri jolly principali in Linux:

  • Un asterisco (*) – corrisponde a una o più occorrenze di qualsiasi carattere, incluso nessun carattere.
  • Punto interrogativo (?) – rappresenta o corrisponde a una singola occorrenza di qualsiasi carattere.
  • Caratteri tra parentesi ([ ]) – corrisponde a qualsiasi occorrenza di carattere racchiusa tra parentesi quadre. È possibile utilizzare diversi tipi di caratteri (caratteri alfanumerici):numeri, lettere, altri caratteri speciali ecc.

È necessario scegliere con cura quale carattere jolly utilizzare per abbinare i nomi di file corretti:è anche possibile combinarli tutti in un'unica operazione come spiegato negli esempi seguenti.

Come abbinare i nomi dei file usando i caratteri jolly in Linux

Ai fini di questo articolo, utilizzeremo i seguenti file per dimostrare ogni esempio.

createbackup.sh  list.sh  lspace.sh        speaker.sh
listopen.sh      lost.sh  rename-files.sh  topprocs.sh

1. Questo comando abbina tutti i file con nomi che iniziano con l (che è il prefisso) e termina con una o più occorrenze di qualsiasi carattere.

$ ls -l l*	

2. Questo esempio mostra un altro uso di * per copiare tutti i nomi di file preceduti da users-0 e termina con una o più occorrenze di qualsiasi carattere.

$ mkdir -p users-info
$ ls users-0*
$ mv -v users-0* users-info/	# Option -v flag enables verbose output

3. Il comando seguente abbina tutti i file con nomi che iniziano con l seguito da qualsiasi singolo carattere e termina con st.sh (che è il suffisso).

$ ls l?st.sh	

4. Il comando seguente abbina tutti i file con nomi che iniziano con l seguito da uno qualsiasi dei caratteri tra parentesi quadre ma che termina con st.sh .

$ ls l[abdcio]st.sh 

Come combinare caratteri jolly per abbinare nomi di file in Linux

Puoi combinare i caratteri jolly per creare un nome file complesso che corrisponda a criteri come descritto negli esempi seguenti.

5. Questo comando corrisponderà a tutti i nomi di file preceduti da due caratteri qualsiasi seguiti da st ma termina con una o più occorrenze di qualsiasi carattere.

$ ls
$ ls ??st*

6. Questo esempio corrisponde a nomi di file che iniziano con uno qualsiasi di questi caratteri [clst] e termina con una o più occorrenze di qualsiasi carattere.

$ ls
$ ls [clst]*

7. In questi esempi, solo i nomi di file che iniziano con uno qualsiasi di questi caratteri [clst] seguito da uno di questi [io] e poi ogni singolo carattere, seguito da un t e infine, verrà elencata una o più occorrenze di qualsiasi carattere.

$ ls
$ ls [clst][io]?t*

8. Qui, i nomi dei file sono preceduti da una o più occorrenze di qualsiasi carattere, seguiti dalle lettere tar e che termina con una o più occorrenze di qualsiasi carattere verranno rimossi.

$ ls
$ rm *tar*
$ ls

Come abbinare i caratteri impostati in Linux

9. Vediamo ora come specificare un insieme di caratteri. Considera i nomi di file di seguito contenenti informazioni sugli utenti del sistema.

$ ls

users-111.list  users-1AA.list  users-22A.list  users-2aB.txt   users-2ba.txt
users-111.txt   users-1AA.txt   users-22A.txt   users-2AB.txt   users-2bA.txt
users-11A.txt   users-1AB.list  users-2aA.txt   users-2ba.list
users-12A.txt   users-1AB.txt   users-2AB.list  users-2bA.list

Questo comando corrisponderà a tutti i file il cui nome inizia con users-i , seguito da un numero, una lettera minuscola o un numero, quindi un numero e termina con una o più occorrenze di qualsiasi carattere.

$ ls users-[0-9][a-z0-9][0-9]*

Il comando successivo corrisponde ai nomi di file che iniziano con users-i , seguito da un numero, una lettera o un numero minuscolo o maiuscolo, quindi un numero e termina con una o più occorrenze di qualsiasi carattere.

$ ls users-[0-9][a-zA-Z0-9][0-9]*

Questo comando che segue corrisponderà a tutti i nomi di file che iniziano con users-i , seguito da un numero, una lettera minuscola o maiuscola o un numero, quindi una lettera minuscola o maiuscola e termina con una o più occorrenze di qualsiasi carattere.

$ ls users-[0-9][a-zA-Z0-9][a-zA-Z]*

Come negare un set di caratteri in Linux

10. Puoi anche negare un insieme di caratteri usando il ! simbolo. Il comando seguente elenca tutti i nomi di file che iniziano con users-i , seguito da un numero, qualsiasi carattere di denominazione file valido a parte un numero, quindi una lettera minuscola o maiuscola e termina con una o più occorrenze di qualsiasi carattere.

$ ls users-[0-9][!0-9][a-zA-Z]*

È tutto per ora! Se hai provato gli esempi precedenti, ora dovresti avere una buona comprensione di come funzionano i caratteri jolly per abbinare i nomi dei file in Linux.

Potresti anche leggere questi articoli seguenti che mostrano esempi di utilizzo di caratteri jolly in Linux:

  1. Come estrarre file Tar in directory specifiche o diverse in Linux
  2. 3 modi per eliminare tutti i file in una directory tranne uno o pochi file con estensioni
  3. 10 suggerimenti utili per scrivere script Bash efficaci in Linux
  4. Come utilizzare Awk e le espressioni regolari per filtrare testo o stringhe nei file

Se hai qualcosa da condividere o una o più domande da porre, utilizza il modulo per i commenti qui sotto.


Linux
  1. 10 esempi pratici di utilizzo del comando scp

  2. Comando cp in Linux:7 esempi pratici

  3. Comando di arresto di Linux:5 esempi pratici

  4. 5 Esempi pratici del comando dd in Linux

  5. 5 Esempi pratici di comandi per il fusore Linux

12 Esempi pratici di In Command in Linux

I 50 esempi pratici del comando SED in Linux

15 esempi pratici di comando Rsync in Linux

5 esempi pratici di Tail Command in Linux

echo Command in Linux:7 esempi pratici

Pratico comando Ping negli esempi di Linux