Яку лаконічну команду можна використовувати для пошуку всіх файлів, які НЕ містять текстового рядка?
Я спробував це (використовуючи -v для перетворення параметрів grep) без удачі:
find . -exec grep -v -l shared.php {} \;
Хтось сказав, що це спрацює:
find . ! -exec grep -l shared.php {} \;
Але це, здається, не працює для мене.
На цій сторінці є такий приклад:
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
Але це громіздко і зовсім не лаконічно.
ps: Я знаю, що grep -L *
це зробить, але як я можу використовувати команду find у поєднанні з grep до виключених файлів - це те, що я дійсно хочу знати.
pss: Також я не впевнений, як у grep включати підкаталоги з grep -L *
синтаксисом, але я все одно хочу знати, як ним користуватися find
:)