Pagina 1 di 1

Cercare file per nome

Inviato: gio set 07, 2017 15:32
da hal9000
Ciao a tutti, sto cercando di creare uno script che mi permetta di cercare e trovare dei file che abbiano lo stesso nome o simile ma estensione diversa (per es. test.txt, test.doc, test.ods, test1.txt, test2.doc, ecc.). Qualcosa del tipo:

Codice: Seleziona tutto

find /directory/di/lavoro -name test*.* -type f -print

Lo scopo sarebbe di creare uno script che inserendo un nome, ne verifichi l' esistenza e se esiste esca dal file, altrimenti esegua altre operazioni. Ad es.:

Codice: Seleziona tutto

echo -n "Inserisci il nome del file: "
read NOME_FILE
find /directory/di/lavoro -name $NOME_FILE*.*
if $NOME_FILE*.* esiste ; then
    echo "il file esiste trova un altro nome."
     exit 0
else
seguono altre istruzioni     

Il problema è che se metto *.* genera sempre un errore:
find: paths must precede expression: test1.txt
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
ma anche facendo ricerche in rete non capito come modificare lo script.
Grazie per l' eventuale aiuto.

Re: Cercare file per nome

Inviato: gio set 07, 2017 16:33
da joe
Prova a mettere tra virgolette il pattern da ricercare:

Codice: Seleziona tutto

find /directory/di/lavoro -name "$NOME_FILE*.*"

Comunque non capisco perchè vuoi isolare l'estensione nel pattern. Lo farebbe automaticamente con un pattern anche più generico: tipo "$NOME_FILE*".
Però dipende sempre da cosa devi cercare... cioè da come sono fatti i nomi dei files che cerchi.

Ciao!

Re: Cercare file per nome [Risolto]

Inviato: gio set 07, 2017 22:50
da hal9000
Grazie, ha funzionato.