find . \
-name 'user_prefs' \
-exec echo "whitelist_from basheer@hydrofitgroup.com" >> {} \;'
我想将行whitelist_from basheer@hydrofitgroup.com
添加到find
找到的所有文件中,但我的命令不起作用。
它只是创建文件“{}”。
我是否使用for
命令?
谢谢!
答案 0 :(得分:11)
你必须逃避'>>',例如:
find . -name 'user_prefs' -exec sh -c 'echo "whitelist_from basheer@hydrofitgroup.com" >> {}' \;
答案 1 :(得分:4)
如前所述,鼓励使用xargs,但您也可以避免多次执行sh:
find . -name 'user_prefs' | while read filename; do echo "whitelist_from basheer@hydrofitgroup.com" >>"$filename"; done