находить . -exec grep -l 'строка' {} \; -print 2> / dev / null

2788

в нем перечислены все файлы в "." которые содержат строку "string", но не показывают каталоги с запрещенным разрешением.

Что это будет эквивалентно этому, но сжимать xargs между ними?

2
Почему вы хотите Xargs между ними? Andrew Bolster 14 лет назад 1
@Closers: сценарии оболочки - это программирование; это может быть более подходящим для SO, чем для SU (это зависит от других деталей, которые OP еще не предоставил). 14 лет назад 0

3 ответа на вопрос

1
Eddy Pronk
find . -readable | xargs grep -l 'string' 
0
user31894

вы можете просто использовать, grepесли есть -Rвозможность

grep -R -l "string" * 2>/dev/null 
0
Jonathan Leffler
find . -type f -print0 | xargs -0 grep -l 'string' 

Это обрабатывает имена с пробелами (и т. Д.) В именах файлов - и предполагает, что вы используете GNU find и xargs.