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