我正在运行以下命令:
find . -name '*.html' -exec sed "s/foo/bar/g" {} \;
文件结构如下所示:
./two/three.html
./two/two.html
./two/one.html
./three/three.html
./three/two.html
./three/one.html
./one/three.html
./one/two.html
./one/one.html
然而,sed回来说文件无法找到,即使这两个命令自己运行正常(即我可以自己运行查找,我可以自己运行sed)。
我和同伴一起看着它,他也被打扰了。我最后走了一条不同的路,但我还是想知道这里到底出了什么问题。
答案 0 :(得分:4)
感谢格伦杰克曼的建议:
我需要在括号周围加上引号:
-exec sed "s/foo/bar/g" '{}' \;
而不是我最初发布它的方式。