замена "grep -R"? - PullRequest
       23

замена "grep -R"?

2 голосов
/ 20 сентября 2011

У меня установлена ​​машина с grep, но опция -R не скомпилирована, и нет также сменного переключателя.

Как заменить его в bash?

Я пытался:

for i in `find *`; do
    grep 'pattern' $i;
done

но это не правильная переосмысление, не так ли?

Ответы [ 2 ]

4 голосов
/ 20 сентября 2011

Попробуйте передать выходные данные от find до xargs, чтобы grep вызывался только несколько раз (xargs продолжает считывать ввод, пока он не получит столько, сколько больше не поместится в списке аргументов):

find -type f | xargs grep foo
1 голос
/ 20 сентября 2011

Мы обычно используем

find . -exec grep 'pattern' {} \; 

Это обычно работает аналогично grep -R.

...