문제

나를 변경해야 할 총액의 설정 파일의 파괴 작업 사본,그래서 다음과 같:

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

는 방법을 자동화할 수 있습니다 이 과정은?표준 리눅스를 설치 도구를 사용할 수 있습니다.

도움이 되었습니까?

해결책

ls | awk '{System ( "SVN MV"$ 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/find로 쉽게 할 수있는 방법이라고 생각하지 않습니다.

이름을 변경하는 루비/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 

또는 당신이 전체를하고 싶다면

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

이 변화는 휴식 기존 workingcopies 에 윈도우와 맥 시스템으로,그들은 처리할 수 없는 경우에만 이름을 바꿉.

일반적으로 'ls'출력을 파일로 리디렉션하고 Vim 매크로를 사용하여 각 파일 이름을 원하는 명령 줄에 마사지 한 다음 파일을 쉘 스크립트로 실행하여이를 수행합니다. 조잡하지만 효과적입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top