Quale comando conciso posso usare per trovare tutti i file che NON contengono una stringa di testo?
Ho provato questo (usando -v per invertire i parametri di grep) senza fortuna:
find . -exec grep -v -l shared.php {} \;
Qualcuno ha detto che avrebbe funzionato:
find . ! -exec grep -l shared.php {} \;
Ma non sembra funzionare per me.
Questa pagina ha questo esempio:
find ./logs -size +1c > t._tmp
while read filename
do
grep -q "Process Complete" $filename
if [ $? -ne 0 ] ; then
echo $filename
fi
done < t._tmp
rm -f t_tmp
Ma è ingombrante e per niente conciso.
ps: so che grep -L *
lo farà, ma come posso usare il comando find in combinazione con grep per i file esclusi.
pss: Inoltre non sono sicuro di come grep includa le sottodirectory con la grep -L *
sintassi, ma voglio ancora sapere come usarlo find
:)