你能在subversion mv命令中使用通配符或正则表达式指定文件名吗?

Tim*_*her 5 svn

我想这样做,以便我可以说类似的东西svn mv *.php php-folder/,但它似乎没有起作用.它甚至可能吗?在svn书的相关页面上没有提到它.

示例输出svn mv *.php php-folder/:
svn: Client error in parsing arguments

能够移动整个文件系统将是一个加号,所以如果给出任何答案可能试图包括该能力,那就太酷了.

提前致谢!

cjm*_*cjm 13

svn move一次只移动一个文件.你最好的选择是shell循环.在Bash中,试试吧

for f in *.php ; do svn mv $f php-folder/; done
Run Code Online (Sandbox Code Playgroud)

在Windows上,就是这样

for %f in (*.php) do svn mv %f php-folder/
Run Code Online (Sandbox Code Playgroud)

编辑:从Subversion 1.5开始,svn mv接受多个源文件,因此您的原始命令将起作用.只有svn 1.4.x及更早版本才需要shell循环.(当然,shell循环仍然可以使用1.5;它不是必需的.)


sir*_*ize 8

不确定svn本身,但要么你的shell应该能够扩展那个通配符而svn可以接受多个源参数,或者你可以使用像

for file in *.php; do svn mv $file php-folder/; done
Run Code Online (Sandbox Code Playgroud)

例如,在bash shell中.