У меня установлена машина с grep, но опция -R не скомпилирована, и нет также сменного переключателя.
grep
-R
Как заменить его в bash?
Я пытался:
for i in `find *`; do grep 'pattern' $i; done
но это не правильная переосмысление, не так ли?
Попробуйте передать выходные данные от find до xargs, чтобы grep вызывался только несколько раз (xargs продолжает считывать ввод, пока он не получит столько, сколько больше не поместится в списке аргументов):
find
xargs
find -type f | xargs grep foo
Мы обычно используем
find . -exec grep 'pattern' {} \;
Это обычно работает аналогично grep -R.
grep -R