logo

Come trovare ricorsivamente tutti i file nelle cartelle correnti e nelle sottocartelle in base alla corrispondenza dei caratteri jolly in Linux

Attraversare un albero di directory per individuare i file è un'operazione comune eseguita dalla maggior parte dei software di gestione dei file system. Questa utilità è sotto forma di comandi da riga di comando nella maggior parte dei sistemi operativi. In questo articolo imparerai come trovare file utilizzando la corrispondenza dei caratteri jolly nel sistema operativo Linux.

Ricerca ricorsiva di file in un albero di directory

L'uso del trova il comando sarebbe stato fatto per eseguire il compito. Il comando 's' viene utilizzato per cercare file in una gerarchia di directory. La pagina di aiuto del comando find è la seguente:



Il comando find e l'opzione -name cercheranno il file desiderato nella directory. Lo switch fornisce un nome (o pattern) da cercare per il comando find. Quindi, il comando finale sarebbe

find -name 'Re_Pattern'>

Come risultato verrà visualizzato qualsiasi file con Re_Pattern nel nome. Il modello può contenere caratteri letterali o una sequenza di espressioni jolly. I due caratteri jolly utilizzati in tali schemi sono:

Linux quale

* => Qualsiasi personaggio un numero qualsiasi di volte (potrebbe anche non essere presente)



? => Dovrebbe essere presente un personaggio

La directory in cui verranno eseguite le operazioni è:

Una directory contenente alcuni file e sottodirectory



Per semplicità, le sottodirectory sono vuote. Pertanto, qualsiasi effetto prodotto sarebbe visibile solo sul file in questa directory. Il file da cercare all'interno della directory sarebbe Apple, il cui comando sarebbe:

find -name 'apple'>

Poiché solo un file nella directory aveva il nome apple, nell'output veniva mostrato solo 1 nome. Ma se includi un carattere jolly, come * (Asterisco):

find -name '*apple*'>

alla fine abbiamo ottenuto il risultato di tutti i file contenenti apple nel nome. Allo stesso modo, potrebbe essere utilizzata una combinazione di tali caratteri jolly. Ex. Se vogliamo ottenere tutti i file che hanno 4 caratteri nel nome, il comando sarebbe:

find -name '????'>

Quindi, utilizzando questi due caratteri jolly, è possibile creare una serie di modelli per riconoscere diversi nomi di file. Il comando find contiene altre opzioni che consentono una maggiore razionalizzazione dell'output.

pd.merge