我想递归执行以下命令
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'