Svn 用于用符号链接替换某些文件的shell脚本

Svn 用于用符号链接替换某些文件的shell脚本,svn,ftp,shell,Svn,Ftp,Shell,有些服务器只支持ftp上传文件 当我将a项目从subversion存储库导出到windows计算机时,所有(linux)符号链接都将替换为占位符文件: link ../www_public/images 链接../www\u public/images 上传完我现在使用的所有导出文件后 find | xargs grep -P ^link 查找| xargs grep-P^链接 找到所有这些占位符。然后手动将它们替换为实际的符号链接 我真的很想用shell脚本自动化这一步骤。 我该怎么做? 注:

有些服务器只支持ftp上传文件

当我将a项目从subversion存储库导出到windows计算机时,所有(linux)符号链接都将替换为占位符文件:

link ../www_public/images 链接../www\u public/images 上传完我现在使用的所有导出文件后

find | xargs grep -P ^link 查找| xargs grep-P^链接 找到所有这些占位符。然后手动将它们替换为实际的符号链接

我真的很想用shell脚本自动化这一步骤。
我该怎么做?

注:

如果有更好/不同的解决方案,请毫不犹豫地分享:)

这里有一个可能的解决方案:

:
grep -lr '^link' . | while read placeholderfile
do
  linkfile=`cut -c6- "$placeholderfile"`
  ln -sf "$linkfile" "$placeholderfile"
done

编辑:更改了w.r.t.上面的代码。下面的注释。

可能最好使用cut-c6-(路径可能有空格)。还有,我不明白你的ln声明。我希望像ln-s“
pwd
/$linkfile”“$placeholder file”这样的东西。(并且可能删除rm并使用ln-sf。)也可能是因为我对问题的解释不同。我不确定占位符文件是否与链接文件同名。可能是这样,但我没有假设。是的,占位符文件的名称是与目标名称相同的符号链接的名称。