Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в UNIX найти все файлы в папке, которые содержат заданную строку (не в имени, а в самом файле)?

Кирбыздык Профи (725), закрыт 17 лет назад
Надо не програмную реализацию, а команду шелла. Вроде find это делает, но как не пойму... :(
К примеру папка
/home/user/dir/
искать слово "word"
в файлах *.txt

Лучшим признаю первый ответ с работающим примером.
Заранее спасибо!
Лучший ответ
Psevdonim Просветленный (26780) 17 лет назад
grep 'word' *.txt
Такая команда будет искать только 'word', но не 'Word' и не 'WORD'
если надо искать регистро-независимо, надо добавить ключик -i, т. е. получится
grep -i 'word' *.txt
Если надо искать не только в текущей, но и во вложенных папках, добавь ключик -R

Если какие-то сложные заморочки с именами фалов, то
find <файловые операнды> | xargs grep 'word'
Остальные ответы
Похожие вопросы