这是我的目前代码,我的目标是在给定的目录中(递归地)查找每个文件,并将“FIND”替换为“REPLACEWITH”,并覆盖这些文件。
FIND='ALEX'
REPLACEWITH='<strong>ALEX</strong>'
DIRECTORY='/some/directory/'
find $DIRECTORY -type f -name "*.html" -print0 |
LANG=C xargs -0 sed -i "s|$FIND|$REPLACEWITH|g"
我收到的错误信息是:
sed: 1: "/some/directory ...": command a expects \ followed by text
awk
而不是sed
将完全消除任何关于您的查找/替换文本被解析为sed脚本而不是数据的问题,这也是您在这里遇到问题的根源所在。 - Charles Duffy