GNU/Linux >> Linux Esercitazione >  >> Linux

I caratteri jolly in Linux spiegati con 10 esempi

I caratteri jolly, alias meta caratteri, sono una manna dal cielo quando si tratta di cercare nomi di file particolari da un mucchio di file con nomi simili. Ad esempio, utilizzando i caratteri jolly in Linux, puoi utilizzare ls comando,  rm comando o qualsiasi altro comando Linux per quella materia, su più file purché corrispondano ai criteri definiti.

In questa lettura, discuteremo di come utilizzare i caratteri jolly in Linux per semplificare il flusso di lavoro e diventare più produttivi. Ma prima, diamo una rapida occhiata ai caratteri jolly più potenti e comunemente usati in Linux:

  1. L'asterisco (*) :Il (*) il carattere jolly rappresenta un numero qualsiasi di caratteri sconosciuti. Questo è utile quando si cercano documenti o file ma si ricorda solo una parte del suo nome.
  2. Il punto interrogativo (?) :Il (?) il carattere jolly rappresenta un solo carattere sconosciuto. Questo è utile quando hai un elenco di file con nomi simili e non sei sicuro di alcuni caratteri.
  3. I caratteri tra parentesi ([ ]) :Il ([ ]) il carattere jolly, la 3a parentesi e non la 1a parentesi, viene utilizzato per trovare una corrispondenza con le occorrenze dei caratteri definiti all'interno delle parentesi. Questa opzione è utile quando si tratta di file maiuscoli e minuscoli, come vedremo più avanti.

Ora, mi rendo conto che tutte queste informazioni non hanno senso se non hai mai avuto a che fare con i caratteri jolly prima. Tuttavia, per aiutarti a chiarire la tua confusione, abbiamo messo insieme una guida dettagliata, inclusi 10 esempi, per assicurarti di comprendere correttamente la funzione dei caratteri jolly e iniziare a usarli tu stesso.

Esempi di corrispondenza di nomi di file utilizzando caratteri jolly

Per iniziare, utilizziamo tutti i vari caratteri jolly di cui abbiamo discusso in precedenza e vediamo come utilizzarli per abbinare i nomi dei file. Per fare ciò, utilizzeremo il seguente set di file:

  1. Questo comando corrisponderà a tutti i nomi di file che iniziano con la lettera M e termina con una o più occorrenze di qualsiasi carattere.
$ ls -l M*

Uscita:

Nota come corrisponde solo ai file che iniziano con la "M" maiuscola e non con la "m" minuscola.

2. Questo comando copierà tutti i nomi di file che iniziano con My-Data e termina con una o più occorrenze di qualsiasi carattere.

$ ls My-Data*

Uscita:

3. Questo comando abbinerà tutti i file che iniziano con la lettera M , che termina con la lettera N e con 1 carattere qualsiasi in mezzo.

$ ls M?N.sh

Uscita:

4. Questo comando abbinerà tutti i file che iniziano con la lettera M , che termina con la lettera N , ma con un solo carattere in mezzo appartiene all'elenco di caratteri definito tra parentesi quadre [AEIOU] .

$ ls M[AEIOU]N.sh

Uscita:

4 esempi di combinazione di caratteri jolly diversi per abbinare nomi di file

Ora, per potenziare la tua efficacia, puoi combinare e abbinare questi caratteri jolly per lavorare insieme ed essere più efficace nell'abbinare i nomi dei file.

  1. Ecco un comando che ti aiuterà a trovare qualsiasi nome di file che può contenere 3 caratteri (incluso nessun carattere) seguito da torta e termina con una o più occorrenze di qualsiasi carattere.
$ ls ???cake*

Uscita:

2. Ecco un comando che corrisponderà a tutti i nomi di file che iniziano con uno di questi caratteri tra parentesi quadre [MNLOP] e termina con una o più occorrenze di qualsiasi carattere.

Vediamo anche cosa succede quando sostituiamo [MNLOP] con [mnlop] .

Quindi i comandi che useremo sono:

$ ls [MNLOP]*
$ ls [mnlop]*

Uscita:

Come puoi vedere, devi essere consapevole delle lettere maiuscole e minuscole che inserisci nel carattere jolly della parentesi poiché ciò influenzerà il risultato.

3. Ecco un comando che abbinerà tutti i nomi di file con uno qualsiasi di questi caratteri [MNLOP] come primo, uno qualsiasi di questi caratteri [AEIOU] come il secondo, seguito da N , e infine termina con una o più occorrenze di qualsiasi carattere.

$ ls [MNLOP][AEIOU]N*

Uscita:

Nota come il (*) il carattere jolly aiuta solo a trovare tutte le estensioni dei filenames.4.

Ecco un comando che corrisponderà a tutti i nomi di file che iniziano con una o più occorrenze di qualsiasi carattere che portano a M , seguito da 1 carattere qualsiasi, quindi seguito da N , e quindi termina con una o più occorrenze di qualsiasi carattere.

$ ls *M?N*

Uscita:

Utilizzare i caratteri jolly per abbinare il set di caratteri

A questo punto, dovresti avere una comprensione pratica di come funzionano i caratteri jolly. Ora possiamo concentrarci su alcuni casi d'uso avanzati in cui i caratteri jolly sono inestimabili.

Ad esempio, il carattere jolly parentesi ti permette di definire un intervallo di caratteri usando [-] invece di digitare ogni carattere. Questo può essere estremamente utile quando vuoi specificare un set di caratteri e abbinare i nomi dei file in base a dove appaiono i caratteri.

Per fare ciò, utilizzeremo il seguente set di file, come mostrato nell'immagine:

Come puoi vedere, l'immagine che abbiamo creato è un elenco di file contenenti diversi dati Pokemon.

Ora per trovare tutti i nomi di file che iniziano con pokemon- seguito da un numero, quindi da un qualsiasi carattere alfanumerico, sempre seguito da un numero, e quindi terminando con una o più occorrenze di qualsiasi carattere, possiamo utilizzare il seguente comando:

$ls pokemon-[0-9][0-9a-zA-Z][0-9]*

Uscita:

La parte [0-9] rappresenta qualsiasi carattere numerico compreso tra 0 a 9 .

La parte successiva [0-9a-zA-Z] rappresenta un numero qualsiasi di caratteri compreso tra 0 a 9 o qualsiasi lettera minuscola tra a a z, o una lettera maiuscola tra A a Z .

Pertanto, se disattivassimo [0-9a-zA-Z] con [0-9a-z] , puoi vedere che il risultato non include alcun nome di file con le lettere maiuscole nella posizione designata.

$ls pokemon-[0-9][0-9a-z][0-9]*

Uscita:

Utilizzare i caratteri jolly per annullare un set di caratteri

Come puoi specificare un set di caratteri, puoi anche negare un set di caratteri durante la corrispondenza per i nomi dei file. Ecco un esempio di come è fatto:

$ls pokemon-[0-9][!a-z][0-9]*

Uscita:

Questo corrisponde a tutti i nomi di file che iniziano con pokemon- seguito da qualsiasi carattere numerico, quindi da qualsiasi carattere diverso dalle lettere minuscole, seguito da qualsiasi carattere numerico e infine terminante con una o più occorrenze di qualsiasi carattere.

Utilizzando [!a-z], stiamo negando l'insieme di tutte le lettere minuscole. Ora, i nomi dei file vengono abbinati per qualsiasi carattere che non sia una lettera minuscola.

Conclusione

Questo ci porta alla fine della nostra rapida occhiata ai caratteri jolly di Linux e a come usarli. Riassumendo il tutto, in poche parole, l'asterisco (*) il carattere jolly è particolarmente utile quando si conosce il nome del file ma non l'estensione. Il punto interrogativo (?) il carattere jolly può aiutarti se dimentichi alcuni caratteri del nome file. La parentesi ([]) il carattere jolly è utile quando vuoi contenere la tua ricerca all'interno di un insieme di caratteri definiti.


Linux
  1. Spiegazione del comando di taglio di Linux con 6 esempi

  2. Comando di spegnimento di Linux spiegato con esempi

  3. Il comando nslookup Linux spiegato con esempi

  4. Comando Traceroute di Linux, spiegato con esempi

  5. comando whoami in Linux spiegato con esempi

Il comando Tr in Linux spiegato con esempi

w Comando spiegato con esempi in Linux

Wait Command in Linux spiegato con esempi pratici

Spiegazione del comando tee di Linux (con esempi)

Spiegazione del comando csplit di Linux (con esempi)

Comando Linux tr con esempi