2008-12-13 119 views
1

某些服务器仅支持ftp来上传文件。使用符号链接替换某些文件的shell脚本

当我导出一个项目从我的Subversion仓库我的Windows机器,所有的(Linux)的符号链接是取代由占位符,文件:

 
link ../www_public/images 

上传的所有导出的文件后,我现在用的

 
find | xargs grep -P ^link 

找到所有这些占位符。然后我手动将它们替换为实际的符号链接。

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

注:
如果有更好的/不同的解决了这个问题,不要犹豫,分享:)

回答

2

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

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

编辑:改变了以上wrt的代码下面的评论。

+0

使用cut -c6-(路径可能有空格)可能会更好。另外,我不明白你的声明。我期望像ln -s“`pwd`/$ linkfile”“$ placeholderfile”。 (可能删除rm并使用ln -sf。)也可能是因为我对问题的解释不同。 – mweerden 2008-12-13 18:31:27

相关问题