Ubuntu распечатывает вывод «find» и «exec» в файл [дубликат]

У меня есть команда, которая выводит список событий Magento 2, которая отлично работает в терминале.

Я хочу, чтобы результат был распечатан в файл, но ни один из приведенных ниже кодов не работает:

find . -type f -exec grep -n -H -A 2 -T "eventManager->dispatch(" {} \ | tee ~/MAGE2EVENTS.txt

Ни один из них:

find . -type f -exec grep -n -H -A 2 -T "eventManager->dispatch(" {} \ >> ~/MAGE2EVENTS.txt

Я вижу, что в этом коде использовалась команда «exec», которая показывает ошибку:

find: missing argument to `-exec'

Итак как распечатать вывод этой команды на терминале в файл?

1
задан 4 December 2015 в 12:54

1 ответ

-exec команда должна быть завершена с \; или +. Эти \; заставит find выполнять команду, как только для каждого файла, и эти + заставит его попытаться выполнить команду на многих файлах сразу, делая его более эффективным. Начиная с Вашего grep использует -H (распечатайте имена файлов), эти + лучший выбор. Поэтому добавьте + в конце Вашей команды находки:

find . -type f -exec grep -n -H -A 2 -T "eventManager->dispatch(" {} + |
     tee ~/MAGE2EVENTS.txt
2
ответ дан 7 December 2019 в 13:50

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

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