Zac*_*ano 5 search replace sed
我正在运行以下命令:
find . -name '*.html' -exec sed "s/foo/bar/g" {} \;
Run Code Online (Sandbox Code Playgroud)
文件结构如下所示:
./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
Run Code Online (Sandbox Code Playgroud)
然而,sed回来说文件无法找到,即使这两个命令自己运行正常(即我可以自己运行查找,我可以自己运行sed).
我有同伴看着它,他也被难倒了.我最后走了一条不同的路线,但我仍然想知道这里到底出了什么问题.
感谢格伦·杰克曼的建议:
我需要在括号内加上引号,如下所示:
-exec sed "s/foo/bar/g" '{}' \;
Run Code Online (Sandbox Code Playgroud)
而不是我最初发布它的方式。