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.
Avatar utente
hal9000
Linux 2.0
Linux 2.0
Messaggi: 164
Iscritto il: dom gen 07, 2007 21:24
Nome Cognome: Alessandro Zamori
Slackware: 64 14.2
Kernel: huge-4.4.75
Desktop: xfce
Località: Roma

Cercare file per nome

Messaggioda hal9000 » gio set 07, 2017 15:32

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: 2671
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Cercare file per nome

Messaggioda joe » gio set 07, 2017 16:33

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.0
Linux 2.0
Messaggi: 164
Iscritto il: dom gen 07, 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]

Messaggioda hal9000 » gio set 07, 2017 22:50

Grazie, ha funzionato.


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti