Newsgroup: it.comp.os.linux.iniziare
Titolo: Non capisco il comportamento di find.

Ho un problemino a comprendere come funziona find in certi casi
particolari. Ad esempio: nella mia home creo dei file di prova siffatti:
bash$ mkdir prova
bash$ cd prova
bash$ touch 1pippo
bash$ touch 2pippo
bash$ touch 3pippo
bash$ touch 4pippo
bash$ cd ..
bash$ mkdir pippo
Ci siete? Ora, io vorrei cercare tutti i files che hanno "pippo" in coda
al nome, siano essi nella mia dir o in qualche sottodir.
bash$ find . -name *pippo
./pippo
Non scende le sottodirectory, penso... ma:
bash$ rmdir pippo
bash$ find . -name *pippo
./prova/1pippo
./prova/2pippo
./prova/3pippo
./prova/4pippo
Cioe', quando trova la directory pippo il find si ferma a quella, mentre
quando non la trova, va a cercare anche nelle sottodirectory?
Forse l'opzione -name non e' quella giusta, ma ho provato anche con altre
e cio' non sortisce effetti diversi da quelli sopra. Una lettura a man
find non mi ha aiutato piu' di tanto...
Illuminatemi, please :-)
Un Gabry piu' utonto del previsto :-)
-- 
*************************************************************************
LightKnight's Home Page:  
http://www-studenti.dm.unipi.it/~stilli/
*************************************************************************
You can't push on a string.

Ho un problemino a comprendere come funziona find in certi casi
Segui il labiale: Non capisci il funzionamento di bash.
Spiegazione breve, se vuoi capirci di piu', man bash:
Se non proteggi con gli apici un wild-char (*pippo) la bash,
nell'eseguire il comando find, esegue immediatamente la sostituzione del
parametro, cioe', visto che esiste pippo nella tua directory, esegue un
find -name pippo
Lascio come compito a casa scoprire che differenza c'e' tra fare un 
find . -name '*pippo'
e
find . -name "*pippo"
-- 
           |Save our planet!
  Ciao     |Save wildlife;
  roberto  |For your E-MAIL use only recycled Bytes !!
           |roberto poggi  
rpo...@softhome.net

Un Gabry piu' utonto del previsto :-)
Siamo in 2;
/root # find /usr -name pippo
/root # [trovata na mazza]
/root # cd /
/ # find /usr -name pippo
/usr/pippo
/usr/local/pippo
/usr/games/pippo..........[etc]
Perche' mai? ...bho
Ciao
Teo
-- 
° E-mail matteoh (at) 
infinito.it
 °
    ~ ° ICQ number 42325926 ° ~


giambo@bila:~ > find . -name "*pippo"
/prova/1pippo
/prova/2pippo
/prova/3pippo
/prova/4pippo
/pippo
-- 
                                                                  __
 __                                                          __  ///
| _          Computer Science, Swiss Federal Institute       \\\///
|__|iambo    of Technology - mailto:
ggia...@iiic.ethz.ch
     \X//

Spiegazione breve, se vuoi capirci di piu', man bash:
Cerco di leggerlo spesso, ma e' una delle poche manpages che sconsiglio...
sono 5000 righe, s'affoga! Certo, mi ci metto di buzzo buono e le
informazioni le trovo, ma io non sono piu' un niubbo (non un niubbo
totale, perlomeno).
Un Gabry "gli esami non finiscono mai" :-)
-- 
*************************************************************************
LightKnight's Home Page:  
http://www-studenti.dm.unipi.it/~stilli/
*************************************************************************
All the simple programs have been written.

Un Gabry "gli esami non finiscono mai" :-)
Aspetta di affrontare emacs, poi ne riparliamo, di come e' semplice man
bash.


find . -name "*pippo"
Nessuna.
..in questo caso;-)
-- 
Ci sentiamo  |  Remigio Zedda    
remi...@tiscalinet.it
ciao Remigio |
-------------|      ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.17 su Debian 2.2 Potato */

informazioni le trovo, ma io non sono piu' un niubbo (non un niubbo
..5676 please, almeno nell'ultima della Debian. Inoltre, in questa, ho
trovato la bella novita` che ci sono anche i built-in separati (es.
alias, bind..)
Cmq il compito a casa di Roberto (roberto) e` su una cosa
fondamentale. Fattelo passare, ma fallo;-)
..vediamo a me che voto mi mette:-(((((


..in questo caso;-)
Bene, bravo, sette piu'.
Non essendoci carateri speciali($ \ ` ), la quotatura tra apostrofi e
tra virgolette, ha lo stesso significato.
Provate anche questo:
PIPPO='*pippo' e' ben diverso da PIPPO=*pippo
echo '$PIPPO'
echo "$PIPPO"
echo $PIPPO
vi daranno risultati da meditazione trascendentale.
Consiglio: se non avete capito molto di quello di cui stiamo parlando,
oltre che studiare man bash, vi consiglio di abituarvi a mettere tra
apostrofi ogni nome particolare, che resta esattamente come lo scrivete,
senza sostituzioni.
Ok, suona la campanella, non vi voglio veder correre per i corridoi,
durante l'intervallo, d'accordo, ragazzi?


bash.
Gia' fatto, a suo tempo. Aho, saro' strano, checcevofa'... :-)
Un Gabry che sta provando vi, ma s'intruppa... :-)
-- 
*************************************************************************
LightKnight's Home Page:  
http://www-studenti.dm.unipi.it/~stilli/
*************************************************************************
Try the Moo Shu Pork.  It is especially good today.

Gia' fatto, a suo tempo. Aho, saro' strano, checcevofa'... :-)
Vabbe', quelle tre cose di Emacs che so fare, non certo la quaresima degli
M-x-everything-that-you-could-think... :-)
Un Gabry che comunque e' 6 anni che studia... :-)


..vediamo a me che voto mi mette:-(((((
Sei stato bravo, ho visto :-)
Un Gabry, e basta :-)
-- 
*************************************************************************
LightKnight's Home Page:  
http://www-studenti.dm.unipi.it/~stilli/
*************************************************************************
Try the Moo Shu Pork.  It is especially good today.

vi daranno risultati da meditazione trascendentale.
Eh, lo dici cosi`.. e invece ci risiamo come la storia di quest'estate
del path. Spiega se e` possibile questo sortilegio:
vir="*a"
ap='*a'
niente=*a
...
...
echo $niente
prova provina provona
che sono miei file in ~ e finiscono con a, o meglio un file, un link e
una directory. E allora do subito:
echo *b
lsmod-deb
unico file in ~ che finisca con b.
Allora vado alla console 1 con altro utente e do:
echo *a
*a
Buona notte!!!!!!


Un Gabry che sta provando vi, ma s'intruppa... :-)
Vi? e' la logica impersonificata, non propriamente menmonico, nei
comandi, ma una volta entrato nel meccanismo, si riesce addirittura a
capire come li hanno studiati, quei simboli.
Anticipando il tuo post successivo: roberto, che ha cominciato a
studiare nel 1961, e non ha ancora smesso.


*a
Altro utente allora non avere nessun file che finisce per a dentro in
sua casa directory. Augh!


sua casa directory. Augh!
Merda! Son rimbecillito del tutto. Certo: echo *r --> dead.letter.
Pero` ora mi dovro` guardare echo, perche' li` per li` non sembra
documentata questa furbata di camuffarsi da find..


documentata questa furbata di camuffarsi da find..
ahi ahi ahi, signora Longari, lei mi cade proprio sui fondamentali!
Ma di che cosa abbiamo parlato, finora?
Non devi guardare echo, devi, anche questa volta, guardare bash!
Chi risponde alle tue richieste da tastiera cercando di avviare il
comando/programma di cui scrivi il nome, e gli eventuali parametri?
E' sempre bash che, se non proteggi con quoting, QUALUNQUE programma o
comando tu scriva, cerca di fare l'espansione dei wildchar.
E anche echo, non si sottrae alla regola.
Del resto, puoi anche scrivere * e premere invio, ti verra' eseguito il
comando, se esiste, il cui nome corrisponde al primo file o directory
esistente nella dir corrente.
La cosa piu' buffa, e' che ti dira' not found di cio' che trova.
Si riprenda il suo libretto, che' altrimenti mi tocca di darle un
diciotto, e ripassi la prossima sessione.


diciotto, e ripassi la prossima sessione.
E quasi quasi mi conviene il diciotto, mi sa tanto mi:-(((
==============
[*] Porca vacca la e maiuscola la scrive con 4 secondi di ritardo.
Vediamo le Altre IOU, no solo la E..
Si`, ma mo' non mi frega piu`: colpa di bash!! Elvis non c'entra!


E quasi quasi mi conviene il diciotto, mi sa tanto mi:-(((
Dai, su, se ti applichi, almeno un 24 lo porti a casa facile.


[*] bash e` machietto o femminuccia?
Argh, e' unA shell, unA shell!
18.


18.
Amaro Isolabella. Niet, rifiuto. Ero a un passo dal 24:-(


Dai, su, se ti applichi, almeno un 24 lo porti a casa facile.
Ormai punto al 24.. un punto all'ora, posso accontentarmi:-)
===========
[*] bash e` machietto o femminuccia?
-- 


Amaro Isolabella. Niet, rifiuto. Ero a un passo dal 24:-(
Ok, in virtu' degli ulteriori elementi di giudizio da lei posrtati a
conoscenza di codesta commissione esaminatrice, nonostante noi fossimo
gia' da tempo..... 24.


gia' da tempo..... 24.
Preso, al volo:-)))))


Preso, al volo:-)))))
Ormai non posso infierire, ma al prossimo, veda di essere piu'
preparato.


preparato.
Il prossimo?! Ma quante cattedre hai?


Il prossimo?! Ma quante cattedre hai?
Cattedre? Circa una cinquantina.
Da pulire ogni sera.
Ma sono i banchi, che mi danno gli incubi, sono centinaia...


Ma sono i banchi, che mi danno gli incubi, sono centinaia...
Fatti comprare Vim che piu` bianco non si puo`.. pulito il primo per
ripetere ti basta un punto;-)


ripetere ti basta un punto;-)
E se sai quanti sono, basta il numero prima del comando.
Ma non vuoi proprio schiodarti da quel voto mediocre che...
Vabbe', adesso ti dico che sto guardandomi emacs e che non e' che lo
abbia gia' in pugno perfettamente, cosi' ti consoli.:-)
