Linux sed 无法读取那里的文件

Linux sed 无法读取那里的文件
grep -r -l --include=*.{html,js,css} "\bAA\b" . | xargs -0 -n 1 sed -i -e "s/\bAA\b/BB/g"

当我运行上述命令时,出现以下错误:

sed: can't read ./login.html : No such file or directory

这很奇怪,因为我能够vi ./login.html

我不明白为什么会出现此错误。请帮忙。谢谢。

答案1

-0除非前一个命令实际上使用 NUL 来分隔其输出,否则不应使用with xargs ,grep除非您使用-Z。因此,它正在寻找“./login.html ”而不是“./login.html”(请注意空格)。

相关内容