在 Linux 中递归使用 SED?

在 Linux 中递归使用 SED?

我想递归执行以下命令

sed -i 's/href=\"1\//href=\"\/1\//g' ./*

这样它就会将所有子目录中的所有 href="1" 替换为 href="/1"。我可以向此命令添加标志来实现我想要的结果吗?

答案1

find . -type f -print0 | xargs -0 sed -i 's/href=\"1\//href=\"\/1\//g'

答案2

https://stackoverflow.com/a/5130044/833771,如果目标目录是 Git 或 SVN 根目录,则应使用: find . -not \( -name .svn -prune -o -name .git -prune \) -type f -print0 | xargs -0 sed -i 's/href=\"1\//href=\"\/1\//g'

相关内容