У меня есть команда, которая выводит список событий 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'
Итак как распечатать вывод этой команды на терминале в файл?
-exec
команда должна быть завершена с \;
или +
. Эти \;
заставит find
выполнять команду, как только для каждого файла, и эти +
заставит его попытаться выполнить команду на многих файлах сразу, делая его более эффективным. Начиная с Вашего grep
использует -H
(распечатайте имена файлов), эти +
лучший выбор. Поэтому добавьте +
в конце Вашей команды находки:
find . -type f -exec grep -n -H -A 2 -T "eventManager->dispatch(" {} + |
tee ~/MAGE2EVENTS.txt