Скажем, я хочу найти все файлы, в которых упоминается "Jonathan Appleseed" в системе Linux.
Я вижу примеры с использованием grep, но пока не могу понять, как искать (все каталоги ЗДЕСЬ). Поэтому я хочу посмотреть все, что находится ниже / var /, например
ха-ха. На это уйдут часы:> в любом случае .... grep -RE 'Jonathan Appleseed'
R - рекурсивный, а E - чувствительный к регистру.
Если ваш grep не имеет опции -R,
find /var -type f -print | xargs egrep 'Jonathan Appleseed'
обычно будет делать то, о чем вы просите.
Я хочу найти все файлы, в которых упоминается "Jonathan Appleseed" в системе Linux.
Вы ищете:
grep -l -r "Jonathan Appleseed" /
Если вы хотите запустить команду для всех подходящих файлов, я бы посоветовал:
grep -l -z -r "Jonathan Appleseed" / | xargs -0 <your command here>
Обратите внимание, что -l означает показывать только имя файла (не соответствующий текст), -r означает рекурсивный, а -z (если вы решите использовать его) означает, что имена файлов имеют нулевое значение ("\ 0") и завершаются, а не заканчиваются кареткой. возвращение. Это означает, что xargs может более легко обрабатывать имена файлов с пробелами, табуляциями и возвратами каретки в имени.
Я также передаю /, чтобы указать, что grep должен запускаться в корне файловой системы («все файлы ... в системе Linux»).