Cercare file per nome

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
hal9000
Linux 2.x
Linux 2.x
Messaggi: 236
Iscritto il: dom 7 gen 2007, 21:24
Nome Cognome: Alessandro Zamori
Slackware: 64 14.2
Kernel: huge-4.4.75
Desktop: xfce
Località: Roma

Cercare file per nome

Messaggio 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.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3790
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Cercare file per nome

Messaggio 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!

Avatar utente
hal9000
Linux 2.x
Linux 2.x
Messaggi: 236
Iscritto il: dom 7 gen 2007, 21:24
Nome Cognome: Alessandro Zamori
Slackware: 64 14.2
Kernel: huge-4.4.75
Desktop: xfce
Località: Roma

Re: Cercare file per nome [Risolto]

Messaggio da hal9000 »

Grazie, ha funzionato.

Rispondi