Как найти файлы, содержащие строку в своем содержимом ИЛИ пути?

Как найти файлы, содержащие строку в своем содержимом ИЛИ пути?

Find и grep не работают, насколько я знаю, потому что мне нужно создать список файлов, которые удовлетворяют ЛЮБОМУ требованию, а не обоим. Я предполагаю, что для этого требуется больше, чем одна строка. Есть предложения?

решение1

Это возможно с помощью следующей команды:

comm  -3 <(find path -name '*string*' | sort) \
         <( grep -r 'string' path | sed s=^=./= | sort) 

Вам может потребоваться изменить sedчасть, чтобы пути, сообщаемые findи grepсовместимые. -3Переключение на commподавляет печать файлов, которые появляются в обоих списках.

Связанный контент