Gli utenti potrebbero imbattersi in una situazione in cui vorrebbero trovare tutti i file in una struttura di directory, cartella o sottocartella, che corrispondono a una stringa particolare ma con variazioni nei nomi dei file, una situazione perfetta per trovare file in base a corrispondenze con caratteri jolly.
Ad esempio, potresti voler individuare tutti i file su un file system contenente la parola "fattura" indipendentemente da dove nel nome del file appare il testo di "fattura" (ad esempio, file denominati come segue: fattura1-2023.pdf, big-invoice-wow.pdf, yourfavoriteinvoice.pdf, fattura-2-22.pdf, ecc.).
Questo articolo ti mostrerà come utilizzare la riga di comando per trovare file ricorsivamente in directory e sottodirectory utilizzando caratteri jolly che corrispondono a una stringa di testo che potrebbe apparire ovunque nel nome del file stesso, con diversi esempi pratici.
Come trovare ricorsivamente tutti i file corrispondenti al carattere jolly
Utilizzeremo il comando find che, come avrai intuito dal nome, ti consente di trovare file nel file system direttamente dalla riga di comando.
find . -name "text*"
Questo comando è suddiviso come segue:
find [directory] (In questo caso "." rappresenta la directory corrente) -name "[testo e caratteri jolly corrispondenti]" (In questo caso, i nomi dei file corrispondenti a "testo" seguiti da qualsiasi cosa).
Per trovare corrispondenze con caratteri jolly prima e dopo la particolare corrispondenza di testo, utilizzare quanto segue, sostituendo "testo" con la sintassi appropriata per abbinare i file al proprio caso d'uso:
Per saperne di più:Come unire i file PDF in uno solo: guida alla combinazione di file PDF
find . -name "*text*"
Utilizzando l'esempio menzionato nell'introduzione, supponiamo che tu stia cercando di rintracciare tutti i file contenenti il testo "fattura" nel nome del file, indipendentemente da dove si trovano all'interno dell'intera struttura della directory home dell'utente. La sintassi per tale ricerca potrebbe essere simile alla seguente:
find ~/ -name "*invoice*"
L'esecuzione di quel comando potrebbe visualizzare qualcosa di simile al seguente come output del comando:
/Users/Paul//Library/Application Support/CloudAppHoldingFiles/mystery-invoice-2023.pdf
/Users/Paul//Library/Application Support/WhoKnows/invoice-2024.pdf
/Users/Paul/Documents/big-invoice-wow.pdf
/Users/Paul/Documents/Misc/small-invoice-dontforget.pdf
/Users/Paul/Desktop/YouForgotAboutThisInvoice.pdf
/Users/Paul/Desktop/AnotherInvoice.pdf
/Users/Paul/Documents/Invoices/invoice-1-23.pdf
/Users/Paul/Documents/Invoices/invoice-3-23.pdf
/Users/Paul/Documents/Invoices/invoice-4-23.pdf
/Users/Paul/Documents/Invoices/invoice-5-23.pdf
/Users/Paul/Documents/Invoices/invoice-6-23.pdf
Come puoi vedere, questo comando e la ricerca di file sono particolarmente utili se hai file sparsi in un filesystem che desideri rintracciare tutti in base alla corrispondenza del nome e ai caratteri jolly.
Anche se puoi sicuramente utilizzare Spotlight o Finder per provare a rintracciare anche tutte le corrispondenze, con alcune delle modifiche più recenti a Spotlight sembra più difficile trovare effettivamente tutti i file e, sebbene la ricerca del Finder possa utilizzare caratteri jolly per trovare anche corrispondenze di nomi, la riga di comando è semplicemente più semplice per molti utenti. Se Finder è più semplice, potresti trovare utile anche questo trucco per elencare ricorsivamente tutti i file nelle sottodirectory.
Se disponi di un altro metodo preferito per la ricerca ricorsiva di file nelle directory tramite corrispondenze con caratteri jolly, condividi il tuo approccio nei commenti qui sotto!
