Live Support My forum, my way! Il forum dei newsgroup: Linux » Ricerca di file.
My forum, my way! Il forum dei newsgroup
Fast Uncompromising Discussions.Newsgroup FUDforum will get your users talking.

Loading
Utenti      F.A.Q.    Registrati    Login    Home
Home » Computer » Linux » Ricerca di file.
Ricerca di file. [messaggio #36535] sab, 12 marzo 2011 14:07 Messaggio successivo
stern  è attualmente disconnesso stern
Messaggi: 7
Registrato: febbraio 2011
Junior Member
Ciao,
desidero sapere se esiste un comando da terminale oppure un programma
che mi permetta di vedere se ho un file x , di cui non conosco
preventivamente il nome , che sia stato salvato , sempre con lo stesso
nome , in directory diverse.
Grazie.
Re: Ricerca di file. [messaggio #36538 è una risposta a message #36535] sab, 12 marzo 2011 14:39 Messaggio precedenteMessaggio successivo
Lorenzo Mainardi  è attualmente disconnesso Lorenzo Mainardi
Messaggi: 28
Registrato: dicembre 2010
Junior Member
Il Sat, 12 Mar 2011 14:07:47 +0100, stern scrisse:

> Ciao,
> desidero sapere se esiste un comando da terminale oppure un programma
> che mi permetta di vedere se ho un file x , di cui non conosco
> preventivamente il nome , che sia stato salvato , sempre con lo stesso
> nome , in directory diverse.
> Grazie.

man find



--
"Never underestimate the bandwidth of a station wagon full of tapes
hurtling down the highway" - Andrew S. Tanenbaum
http://blog.mainardi.me
python -c "print 'bG9ybWF5bmFAZ21haWwuY29t'.decode('base64')"
Re: Ricerca di file. [messaggio #36541 è una risposta a message #36538] sab, 12 marzo 2011 15:12 Messaggio precedenteMessaggio successivo
RedWiz  è attualmente disconnesso RedWiz
Messaggi: 147
Registrato: novembre 2010
Senior Member
Il Sat, 12 Mar 2011 13:39:23 +0000, Lorenzo Mainardi ha scritto:

> Il Sat, 12 Mar 2011 14:07:47 +0100, stern scrisse:
>
>> Ciao,
>> desidero sapere se esiste un comando da terminale oppure un programma
>> che mi permetta di vedere se ho un file x , di cui non conosco
>> preventivamente il nome , che sia stato salvato , sempre con lo stesso
>> nome , in directory diverse.
>> Grazie.
>
> man find

non vedo come possa risolvere il problema con il solo find.

prima deve trovare i file doppioni nel file system, e diciamo che lo puo'
fare con

find . -exec basename {} \;|sort > file1

confrontando (attraverso un comm) con l'output di

find . -exec basename {} \;|sort|uniq > file2

quindi

comm -3 file1 file2 |uniq > file3

adesso file3 ha i file che hanno doppioni nel FS
a questo punto tali files vanno cercati

quindi ciclare su file3 e fare un find . -name "$rigadifile3"

dopo ovviamente cancellare file1,file2 e file3

questa è la soluzione che mi è venuta di getto, utilizzando files di
appoggio (che non sarebbe male magari crearli in /tmp con mktemp).

sicuramente si puo' migliorare l'algoritmo, ma insomma, siamo ben lontani
da risolverlo con un man find!

o c'è qualche opzione di find che risolve anche questo problema?
Re: Ricerca di file. [messaggio #36542 è una risposta a message #36541] sab, 12 marzo 2011 15:31 Messaggio precedenteMessaggio successivo
RedWiz  è attualmente disconnesso RedWiz
Messaggi: 147
Registrato: novembre 2010
Senior Member
Il Sat, 12 Mar 2011 14:12:14 +0000, RedWiz ha scritto:

> Il Sat, 12 Mar 2011 13:39:23 +0000, Lorenzo Mainardi ha scritto:
>
>> Il Sat, 12 Mar 2011 14:07:47 +0100, stern scrisse:
>>
>>> Ciao,
>>> desidero sapere se esiste un comando da terminale oppure un programma
>>> che mi permetta di vedere se ho un file x , di cui non conosco
>>> preventivamente il nome , che sia stato salvato , sempre con lo stesso
>>> nome , in directory diverse.
>>> Grazie.
>>
>> man find
>
> non vedo come possa risolvere il problema con il solo find.
>
> prima deve trovare i file doppioni nel file system, e diciamo che lo
> puo' fare con
>
> find . -exec basename {} \;|sort > file1
>

ps:

1 -forse c'è qualche opzione di find che stampa solo il nome del file, ma
non avevo voglia di cercarla, quindi ho usato basename

2 - direi che un -print0 nei find non ci starebbe male


3 - quando dico file system intendo dalla directory corrente ,
ovviamente. :)
Re: Ricerca di file. [messaggio #36544 è una risposta a message #36535] sab, 12 marzo 2011 15:57 Messaggio precedenteMessaggio successivo
Dalet  è attualmente disconnesso Dalet
Messaggi: 210
Registrato: novembre 2010
Senior Member
Il 12-03-2011, stern dice:

>desidero sapere se esiste un comando da terminale oppure un programma
>che mi permetta di vedere se ho un file x, di cui non conosco
>preventivamente il nome, che sia stato salvato, sempre con lo stesso
>nome, in directory diverse.

Il programma c'e' ed e' stato fatto apposta, e' locate.
Puoi farlo anche con find come t'han detto, pero' c'e'
la differenza che locate legge un db (aggiornato solo
giornalmente) e ci mette 1/10 di secondo, find invece ogni
volta deve cercare in tutto il disco o i dischi, tutto il
fs insomma, e allora ci puo' mettere parecchio.

Se vuoi aggiornare prima il db di locate devi dare come root:
[~]root_#: updatedb
oppure se hai paura di root:
[~]stern_$: sudo updatedb
se pero' vuoi che ogni utente possa leggere quel che c'e'
in ogni directory, anche riservata, devi darlo cosi':
updatedb -l 0
(con o senza sudo), oppure ancora se in entrambi i casi
vuoi vedere scorrere tutto quel che scrive nel db, devi
aggiungere l'opzione -v, cioe':
[~]root_#: updatedb -v -l 0

(e' chiaro che in tutti i casi finche' non scrivi nuovi file
non hai nessun bisogno di ridarlo, insomma fai una sola volta
quel che find ripete per ogni ricerca.. e poi find non salta
certe directory che invece deve saltare: guardati il file
/etc/updatedb.conf per rendertene conto)

Ps. Guarda che se non hai debian o derivate, ma slackware
o derivate le opzioni forse son diverse, dai man locate,
perche' il vero nella deb ha mlocate, nella slack slocate.

--
Saluti, Dalet
Re: Ricerca di file. [messaggio #36559 è una risposta a message #36544] sab, 12 marzo 2011 19:59 Messaggio precedenteMessaggio successivo
RedWiz  è attualmente disconnesso RedWiz
Messaggi: 147
Registrato: novembre 2010
Senior Member
Il Sat, 12 Mar 2011 14:57:55 +0000, Dalet ha scritto:

> Il 12-03-2011, stern dice:
>
>>desidero sapere se esiste un comando da terminale oppure un programma
>>che mi permetta di vedere se ho un file x, di cui non conosco
>>preventivamente il nome, che sia stato salvato, sempre con lo stesso
>>nome, in directory diverse.
>
> Il programma c'e' ed e' stato fatto apposta, e' locate.

vero, ma in ogni caso gli serve sapere prima i nomi dei file doppioni,
quindi deve ficcarlo dentro un algoritmo tipo il mio.
E locate fa ricerca su tutto il file system, non in una singola
directory .
Re: Ricerca di file. [messaggio #36562 è una risposta a message #36559] sab, 12 marzo 2011 21:50 Messaggio precedente
Dalet  è attualmente disconnesso Dalet
Messaggi: 210
Registrato: novembre 2010
Senior Member
Il 12-03-2011, RedWiz dice:
>Il Sat, 12 Mar 2011 14:57:55 +0000, Dalet ha scritto:
>>Il 12-03-2011, stern dice:

>>>desidero sapere se esiste un comando da terminale oppure un programma
>>>che mi permetta di vedere se ho un file x, di cui non conosco
>>>preventivamente il nome, che sia stato salvato, sempre con lo stesso
>>>nome, in directory diverse.

>>Il programma c'e' ed e' stato fatto apposta, e' locate.

>vero, ma in ogni caso gli serve sapere prima i nomi dei file doppioni,
>quindi deve ficcarlo dentro un algoritmo tipo il mio.
>E locate fa ricerca su tutto il file system, non in una singola
>directory .

Si' ma io gliel'ho postato perche' uso moltissimo locate,
anche al di la' del fs, cioe' ho il db di decine di cdrom
e trovo quel che cerco in qualche secondo compreso il tempo
di battere il comando di ricerca.

(be' la storia dei doppioni non l'ho considerata, mo' guardo
le righe di comando tue, mica l'aveva detto dei doppioni...
visto, e il comando comm non lo conoscevo, buono a sapersi!)

--
Saluti, Dalet
Argomento precedente:Utilizzo Disco (pieno!)
Argomento successivo:Posizione del carrello del CD drive
Vai al forum:
  


Ora corrente: gio mag 02 17:40:05 CEST 2024

Tempo totale richiesto per generare la pagina: 0.00881 secondi
.:: Contatti :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Live Support