То, что вы передаете -exec
- это программа для выполнения и отдельные аргументы. В частности, вы НЕ передаете команду оболочки.
Однако >>
является конструкцией оболочки, поэтому, если вы хотите ее использовать, вам нужно запустить оболочку:
find . -iname '*1*' -exec sh -c 'echo "Hello World" >> {}' \;
Здесь отдельные аргументы, передаваемые -exec
: sh
, -c
, echo "Hello World" >> {}
, что позволяет вам запускать команду оболочки.
Также обратите внимание, что я сделал -ianme '*1*'
с момента вашего вопроса сказал "имеет 1
в своем названии", а не "оканчивается на 1
".