Come usare i caratteri jolly

Un carattere jolly è un carattere che può essere usato come sostituto di una qualsiasi classe di caratteri in una ricerca, aumentando così notevolmente la flessibilità e l’efficienza delle ricerche.

I caratteri jolly sono comunemente usati nei comandi di shell in Linux e in altri sistemi operativi Unix-like. Una shell è un programma che fornisce un’interfaccia utente di solo testo e la cui funzione principale è quella di eseguire comandi digitati dagli utenti e visualizzare i loro risultati.

I caratteri jolly sono usati anche nelle espressioni regolari e nei linguaggi di programmazione. Le espressioni regolari sono un sistema di pattern matching che utilizza stringhe (cioè sequenze di caratteri) costruite secondo regole di sintassi predefinite per trovare le stringhe desiderate nel testo.

Il termine jolly o jolly è stato originariamente utilizzato nei giochi di carte per descrivere una carta che può essere assegnato qualsiasi valore che il suo titolare desidera. Tuttavia, il suo utilizzo si è diffuso in modo che ora è usato per descrivere un fattore sconosciuto o imprevedibile in una varietà di campi.

Stella jolly

Tre tipi di caratteri jolly sono utilizzati con i comandi Linux. Il più utilizzato e di solito il più utile è il carattere jolly della stella, che è lo stesso di un asterisco (*). Il carattere jolly stella ha il significato più ampio di uno qualsiasi dei caratteri jolly, in quanto può rappresentare zero caratteri, tutti i singoli caratteri o qualsiasi stringa.

Ad esempio, il comando file fornisce informazioni su qualsiasi oggetto filesystem (ad esempio, file, directory o link) che gli viene fornito come argomento (ad esempio, input). Poiché il carattere jolly stella rappresenta ogni stringa, può essere utilizzato come argomento per il file per restituire informazioni su ogni oggetto nella directory specificata. Pertanto, quanto segue visualizzerà le informazioni su ogni oggetto nella directory corrente (cioè la directory in cui l’utente sta attualmente lavorando):

file *

Se non ci sono corrispondenze, viene restituito un messaggio di errore, come *: can’t stat `*’ (Nessun file o directory di questo tipo).. Nel caso di questo esempio, l’unico modo in cui non ci sarebbero corrispondenze è se la directory fosse vuota.

I caratteri jolly possono essere combinati con altri caratteri per rappresentare parti di stringhe. Ad esempio, per rappresentare qualsiasi oggetto filesystem che ha un .estensione file jpg,*.jpg sarebbe usato. Allo stesso modo, a * rappresenterebbe tutti gli oggetti che iniziano con una lettera minuscola (cioè piccola) a.

Come altro esempio, quanto segue direbbe al comando ls (che viene utilizzato per elencare i file) di fornire i nomi di tutti i file nella directory corrente che hanno un.html o un .estensione txt:

ls *.html *.txt

inoltre, vorrei raccontare il comando rm (che viene utilizzato per rimuovere i file e le directory) per eliminare tutti i file nella directory corrente che hanno la stringa xxx in loro nome:

rm *xxx*

punto di Domanda Jolly

Il punto interrogativo (?) è usato come carattere jolly nei comandi di shell per rappresentare esattamente un carattere, che può essere qualsiasi singolo carattere. Pertanto, due punti interrogativi in successione rappresenterebbero due caratteri in successione e tre punti interrogativi in successione rappresenterebbero una stringa composta da tre caratteri.

Così, per esempio, il seguente restituire i dati su tutti gli oggetti nella directory corrente, i cui nomi, comprensivi di eventuali proroghe, sono esattamente tre caratteri:

file ???

E sarebbero fornire i dati su tutti gli oggetti i cui nomi sono uno, due o tre caratteri:

file ? ?? ???

Come nel caso della stella jolly, il punto interrogativo jolly può essere utilizzato in combinazione con altri caratteri. Per esempio, il seguente fornire informazioni su tutti gli oggetti nella directory corrente che iniziano con la lettera a e sono cinque caratteri:

file a????

Il punto di domanda jolly può essere utilizzato anche in combinazione con altri caratteri jolly quando è separato da un altro carattere. Per esempio, il seguente restituire un elenco di tutti i file nella directory corrente che ha una estensione di tre caratteri:

ls *.???

le Parentesi quadre Jolly

Il terzo tipo di caratteri comandi della shell è una coppia di parentesi quadre, che può rappresentare uno qualsiasi dei caratteri racchiusi tra le parentesi quadre. Quindi, ad esempio, quanto segue fornirebbe informazioni su tutti gli oggetti nella directory corrente che hanno una x, y e / o z in essi:

file **

E quanto segue elenca tutti i file che avevano un’estensione che inizia con x, y o z:

ls *.*

Gli stessi risultati possono essere raggiunti semplicemente utilizzando la stella e il punto interrogativo jolly. Tuttavia, è chiaramente più efficiente utilizzare il carattere jolly della parentesi.

Quando viene utilizzato un trattino tra due caratteri nel carattere jolly tra parentesi quadre, indica un intervallo che include questi due caratteri. Per esempio, il seguente fornire informazioni su tutti gli oggetti della directory corrente che iniziano con una lettera da a a f:

file *

E sarebbero fornire informazioni su tutti gli oggetti della directory corrente il cui nome include almeno un numero:

file **

L’uso delle parentesi quadre per indicare un intervallo può essere combinato con il suo uso per indicare un elenco. Pertanto, ad esempio, quanto segue fornirebbe informazioni su tutti gli oggetti del filesystem i cui nomi iniziano con qualsiasi lettera da a a c o iniziano con s o t:

file *

Allo stesso modo, è possibile specificare più set di intervalli. Pertanto, ad esempio, quanto segue restituirebbe informazioni su tutti gli oggetti i cui nomi iniziano con le prime tre o le ultime tre lettere minuscole dell’alfabeto:

file *

A volte può essere utile avere una successione di caratteri jolly parentesi quadre. Per esempio, il seguente visualizzare tutti i file nella directory corrente, che consiste di jones, seguito da un numero a tre cifre:

ls jones



+