以某种方式将图像保存为文本/ASCII,我需要递归地为数百个图像目录做到这一点,全部在一个根下 images 目录。

我有一些说明 这里 告诉我:

svn proplist <yourfile>
svn propdel svn:eol-style <yourfile>
svn propset svn:mime-type application/octet-stream <yourfile>

我可以做一些本地SVN递归方式吗?如果没有,有人可以建议我如何递归地使用BASH脚本应用它吗?

有帮助吗?

解决方案

在外壳上:

find -name '*.png' -exec \
sh -c "svn propdel svn:eol-style {} && svn propset svn:mime-type image/png {}" \;

其他提示

我没有一个可以测试的颠覆存储库,但这应该不太困难:

find . -name .svn -prune -o print

这将列出您的工作目录中的所有文件(sans the .SVN目录)。

现在,您可以将其结合在一起阅读循环

find . -name .svn -prune -o print | while read file
do
   svn propdel svn:eol-style $file
   svn propset svn:mime-type application/octet-stream $file
done

现在,您注意到我没有验证文件是否设置该属性。我根本不在乎。而且,这将执行每个文件。如果您只想执行特定类型的文件,则必须修改 find 命令:

find . -name .svn -prune -o -name "*.jpg" print

我强烈建议您从干净的颠覆工作目录开始,然后运行这样的测试:

find . -name .svn -prune -o print | while read file
do
   echo svn propdel svn:eol-style $file
   echo svn propset svn:mime-type application/octet-stream $file
done

如果输出看起来不错,请删除 echo 并让'rip。

以下PowerShell代码将实现您要做的事情:

foreach( $file in get-childitem -name -include *.png -exclude .svn -recurse) {
    &  svn propdel svn:eol-style $file;
    & svn propset svn:mime-type image/png $file
};
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top