내가 여기 tcsh
이 작업을 수행 할 수있는 쉬운 방법을 제공하는 경우 모르겠지만 내가 일반적으로 할 수있는 작업은 다음과 같습니다
나는 또한 정규식을 사용하여 파일 이름을 변경
regexmv
라는 파이썬 스크립트를 작성했습니다
ls *.abc | sed 's/\(.*\)\.abc/mv "\1.abc" "\1.def"/' | sh
.
import os
import re
import sys
import os.path
def main(argv):
dry_run = True
if argv[0] == '-f':
dry_run = False
argv = argv[1:]
pattern = argv[0]
repl = argv[1]
files = argv[2:]
max_length = max([len(f) for f in files])
for f in files:
new = re.sub(pattern, repl, f)
if f != new:
if not os.path.exists(new):
print "%s --> %s" % (f.ljust(max_length), new)
if not dry_run:
os.rename(f, new)
if __name__ == '__main__':
main(sys.argv[1:])
은 내가 처음과 같이 실행 : 여기에 스크립트의
regexmv '\.abc$' '.def' *
의 이름이 변경 될 파일 (그들이 이름을 변경하는 방법)를 참조하려면, 이것은 내가 원하는 경우, I 그것을 실행하십시오 :
regexmv -f '\.abc$' '.def' *