투자 모든 파일이 디렉토리에서 bash 를 사용하여,'svn mv'
-
11-07-2019 - |
문제
나를 변경해야 할 총액의 설정 파일의 파괴 작업 사본,그래서 다음과 같:
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 매크로를 사용하여 각 파일 이름을 원하는 명령 줄에 마사지 한 다음 파일을 쉘 스크립트로 실행하여이를 수행합니다. 조잡하지만 효과적입니다.
제휴하지 않습니다 StackOverflow