我需要改变一组文件的资本在颠覆工作副本,像这样:

svn mv test.txt Test.txt
svn mv test2.txt Test2.txt
svn mv testn.txt Testn.txt
...
svn commit -m "caps"

我如何可以自动完成这一过程?标准的Linux安装可用的工具。

有帮助吗?

解决方案

LS | AWK '{系统( “MV SVN” $ 0 “” 在toupper(SUBSTR($ 0,1,1))SUBSTR($ 0,2))}'

显然,其他脚本语言将工作一样好。 AWK具有其它无处不在的优点。

其他提示

如果你有一个体面的安装,你应该有蟒蛇,试试这个:

#!/usr/bin/python
from os import rename, listdir
path = "/path/to/folder"
try:
    dirList = listdir(path)
except:
    print 'There was an error while trying to access the directory: '+path
for name in dirList:
    try:
        rename(path+'\\'+name, path+'\\'+name.upper())
    except:
        print 'Process failed for file: '+name

我不认为那里有一个简单的方法使用bash做/ SED / TR /找到。

我会做一个Ruby / Perl脚本,不重命名。

 #!/usr/bin/ruby 
 #  Upcase.rb 
 ARGV.each{ |i|
  newname = i.gsub(/(^.|\s.)/{ |x| x.upcase }
  `svn mv "#{i}" "#{newname}" `
 }

然后,只需做

 ./Upcase.rb foo.txt test.txt test2.txt foo/bar/test.txt 

或者,如果你想要做一个整体的DIR

 find ./ -exec ./Upcase.rb {} + 

请注意,现有的在Windows和Mac系统workingcopies,因为他们不能处理的情况下这种变化只休息重命名。

我通常通过重定向“ls”的输出到一个文件,使用vim宏按摩每个文件名进入命令行我想要的,则执行该文件作为外壳脚本执行此操作。这是原油,但有效的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top