find . \
-name 'user_prefs' \
-exec echo "whitelist_from [email protected]" >> {} \;'
我想行whitelist_from [email protected]
添加到由find
找到的所有文件,但我的命令不起作用。 它只是創建文件「{}」。慶典,發現,exec和呼應
應該使用for
命令嗎?
謝謝!
find . \
-name 'user_prefs' \
-exec echo "whitelist_from [email protected]" >> {} \;'
我想行whitelist_from [email protected]
添加到由find
找到的所有文件,但我的命令不起作用。 它只是創建文件「{}」。慶典,發現,exec和呼應
應該使用for
命令嗎?
謝謝!
你要逃脫「>>」,例如像這樣:
find . -name 'user_prefs' -exec sh -c 'echo "whitelist_from [email protected]" >> {}' \;
前面已經說過,使用xargs的鼓勵,但你也能避免受執行SH多次:
find . -name 'user_prefs' | while read filename; do echo "whitelist_from [email protected]" >>"$filename"; done
這比'xargs'版本快得多。 – 2010-12-17 15:39:03
其實我喜歡它比我接受的解決方案更好:) – 2010-12-17 19:24:41
它的工作原理!非常感謝:-) – Roberto 2010-12-17 13:15:12
這是一個正確的答案,但我不會完全稱它爲「逃避」。 – 2010-12-17 15:36:31
它適用於CentOS 5.謝謝! – 2014-10-06 22:48:38