6

Я использую Mac 10.7.5 и на оболочке Bash. Я пытаюсь найти экземпляры строки в группе файлов, но получаю эту ошибку

Daves-MacBook-Pro:folder davea$ find . -name "*" | xargs grep 'state-icons'
xargs: grep: Argument list too long

Как я могу запустить команду (или аналогичную), чтобы избежать этой ошибки?

2 ответа2

6

Вы можете использовать опцию -n в xargs чтобы ограничить количество аргументов.

find . -name "*" | xargs -n 20 grep 'state-icons'

Обратите внимание, что это не работает для файлов с пробелами в их именах.

-2

Как насчет этого, если вы хотите искать через имя файла:

for x in ./**/*.*; do echo "$x" | grep 'state-icons' ; done

и это, если вы хотите просмотреть содержимое файла:

for x in ./**/*.*; do grep 'state-icons' "$x" ; done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .