Grep через подкаталоги

Добавить строку в текстовый файл с терминала

Я смотрел на эту тему. Решение (номер 2, с ls grep) отлично работает для файлов с именем .txt в текущем каталоге. Как насчет того, чтобы я хотел искать в каталоге и подкаталогах?

Например, мне нужно искать в каталоге, который имеет много подкаталогов, и у них много подкаталогов и т. Д.

Я новичок в Linux, извините, поэтому я не уверен, что это правильное место.

7
задан 13 April 2017 в 15:24

2 ответа

Я действительно решил это, используя find . type -f вместо ls

0
ответ дан 13 April 2017 в 15:24

Используйте опцию -R (эквивалентную --recursive) для grep.

РЕДАКТИРОВАТЬ: после прочтения потока в комбинации ls /mydata | grep txt$ вам не нужен рекурсивный grep, но рекурсивный ls . Вы не grep файлы; вы получаете вывод команды ls, представляющей собой список файлов.

«Рекурсивный ls» называется find: -)

find /mydata -type f | grep txt$

или, что лучше,

find /mydata -type f -name '*.txt'
0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: