代码之家  ›  专栏  ›  技术社区  ›  Tim Visher

能否在subversion mv命令中使用通配符或regex指定文件名?

svn
  •  5
  • Tim Visher  · 技术社区  · 16 年前

    我想这样做,这样我可以说, svn mv *.php php-folder/ 但似乎不起作用。有可能吗?在 svn book .

    示例输出 svn mv*.php php文件夹/ :
    svn: Client error in parsing arguments

    能够移动整个文件系统将是一个优势,所以如果给出的任何答案都可以尝试包括这种能力,那就太酷了。

    事先谢谢!

    4 回复  |  直到 16 年前
        1
  •  8
  •   sirprize    16 年前

    不确定SVN本身,但是您的shell应该能够扩展该通配符,并且SVN可以接受多个源参数,或者您可以使用类似的

    for file in *.php; do svn mv $file php-folder/; done
    

    例如,在bash shell中。

        2
  •  13
  •   cjm    16 年前

    SVN MOVE一次只移动一个文件。你最好的赌注是一个空壳循环。在狂欢中,尝试

    for f in *.php ; do svn mv $f php-folder/; done
    

    在窗户上,那是

    for %f in (*.php) do svn mv %f php-folder/
    

    编辑: 从第1.5版开始, svn mv 接受多个源文件,因此原始命令可以工作。shell循环仅适用于SVN 1.4.x及更早版本。(当然,shell循环仍然可以使用1.5;这只是不必要的。)

        3
  •  1
  •   User1    13 年前

    find . -name "*.php" -exec svn mv {} php-folder \;

        4
  •  0
  •   zigdon    16 年前

    如果你在正确的签出目录中,我不明白为什么它不能工作?您的shell应该将*.php扩展到一个php文件列表,svn move接受多个源作为参数。