Questo troverà tutti i file ma ignorerà quelli che iniziano con un punto in modo che i file nascosti.
find /home/tom/project/ -type f \(-iname ".log.txt" ! -iname ".*" \)
EDIT: Se quanto sopra quelli che non funzionano, questo dovrebbe fare il trucco. Ha una regex migliore.
find /home/tom/project/ \(! -regex '.*/\..*' \) -type f -name ".log.txt"
EDIT2:
Di seguito escluderà le cartelle nascoste, ma cercherà i file nascosti con il tipo di richiesta:
find /home/tom/project/ \(! -regex '.*/\..*/..*' \) -type f -name ".log.txt"
Edit3:
La soluzione grep :) se questo non funziona sono perso :)
find /home/tom/project/ \(! -regex '.*/\..*/..*' \) -exec grep -l ".log.txt" {} \;
EDIT4:
Hai provato le soluzioni semplici?
find /home/tom/project/ -type f -name ".log.txt"
O
find /home/tom/project/ -type f -name "*" -exec grep -l ".log.txt" {} \;
fonte
2012-03-28 05:46:05
vuoi dire directory che non vengono nascosti e non hanno genitori nascosti? –