Caratteri jolly, a.K.un. 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, è possibile utilizzare il 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 puoi utilizzare i caratteri jolly in Linux per semplificare il tuo flusso di lavoro e diventare più produttivo. 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 solo un 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 abbinare eventuali occorrenze di caratteri definiti all'interno delle parentesi. Questa opzione è utile quando si tratta di file maiuscoli e minuscoli, come vedremo in seguito.
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 da solo.
Esempi di nomi di file corrispondenti utilizzando i caratteri jolly
Per iniziare, usiamo tutti i vari caratteri jolly di cui abbiamo discusso in precedenza e vediamo come usarli 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*
Produzione:
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 I miei dati e termina con una o più occorrenze di qualsiasi carattere.
$ ls Miei dati*
Produzione:
3. Questo comando abbinerà tutti i file che iniziano con la lettera M, finisce con la lettera no, e con 1 carattere qualsiasi nel mezzo.
$ ls M?no.sh
Produzione:
4. Questo comando abbinerà tutti i file che iniziano con la lettera M, finisce con la lettera no, ma avere solo 1 carattere in mezzo appartiene all'elenco dei caratteri definiti tra parentesi quadre [AIOU].
$ ls M[AEIOU]N.sh
Produzione:
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'abbinamento dei nomi di file.
- Ecco un comando che ti aiuterà a trovare qualsiasi nome di file che può avere 3 caratteri qualsiasi (incluso nessun carattere) seguito da torta e termina con una o più occorrenze di qualsiasi carattere.
$ ls ???torta*
Produzione:
2. Ecco un comando che abbinerà 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 utilizzeremo sono:
$ ls [MNLOP]*
$ ls [minimo]*
Produzione:
Come puoi vedere, devi essere consapevole delle maiuscole e delle minuscole delle lettere che inserisci nella parentesi jolly poiché ciò influenzerà il risultato.
3. Ecco un comando che abbinerà tutti i nomi di file con uno di questi caratteri [MNLOP] come il primo, uno qualsiasi di questi personaggi [AIOU] come il secondo, seguito da no, e infine termina con una o più occorrenze di qualsiasi carattere.
$ ls [MNLOP][AEIOU]N*
Produzione:
Notare come (*) Il carattere jolly aiuta solo a trovare tutte le estensioni dei nomi dei file.4.
Ecco un comando che abbinerà tutti i nomi di file che iniziano con una o più occorrenze di qualsiasi carattere che porta a M, seguito da 1 carattere qualsiasi, quindi seguito da no, e poi termina con una o più occorrenze di qualsiasi carattere.
$ ls *M?N*
Produzione:
Utilizzo di 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 insieme 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]*
Produzione:
La parte [0-9] rappresenta qualsiasi carattere numerico compreso tra 0 per 9.
La parte successiva [0-9a-zA-Z] rappresenta un numero qualsiasi di caratteri tra 0 per 9, o qualsiasi lettera minuscola tra un per z, o una lettera maiuscola tra UN per Z.
In quanto tale, se cambiamo [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]*
Produzione:
Utilizzo di caratteri jolly per negare un insieme 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]*
Produzione:
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 termina con una o più occorrenze di qualsiasi carattere.
Usando [!a-z], stiamo negando l'insieme di tutte le lettere minuscole. Ora, i nomi dei file sono abbinati per qualsiasi carattere che non sia una lettera minuscola.
Avvolgendo
Questo ci porta alla fine della nostra rapida occhiata ai caratteri jolly di Linux e a come usarli. Riassumendo tutto, in poche parole, il asterisco (*) il carattere jolly è molto utile quando conosci il nome del file ma non l'estensione. Il punto interrogativo (?) Il carattere jolly può aiutarti se dimentichi alcuni caratteri del nome del file. Il parentesi ([]) il carattere jolly è utile quando si desidera contenere la ricerca all'interno di un insieme di caratteri definiti.