나는 01.mp3 - 47.mp3라는 이름의 멀티미디어 프로젝트에 사용되는 47개의 .mp3 파일 그룹을 가지고 있습니다. 모든 파일은 실제로 숫자 + 5의 이름을 가져야 하므로 02.mp3는 실제로 07이 되어야 합니다. .mp3 이름이 변경된 파일은 일종의 접두사 + 번호를 가질 수 있거나 기존 파일을 방해하지 않도록 새 폴더에 쓸 수 있습니다.
나는 Ubnutu와 Windows를 마음대로 사용할 수 있습니다. 누군가 이에 대한 접근 방식을 제안할 수 있습니까?
답변1
다음과 같은 스크립트를 사용하여 awk에서 이 작업을 수행할 수 있습니다.
#!/usr/bin/awk -f
BEGIN {
regex = "[0-9]+"
print "mkdir new"
}
{
if (match($8,regex)) {
before = substr($8,1,RSTART-1);
pattern = substr($8,RSTART,RLENGTH);
newnumber = pattern + 5
after = substr($8,RSTART+RLENGTH);
printf("mv %s new/%s%.2d%s\n", $8, before, newnumber, after);
}
}
다음 파일이 포함된 폴더가 있다고 가정합니다.
foo01
foo02
foo03
foo04
foo05
bar10.txt
bar11.txt
bar12.txt
bar13.txt
rename.awk
명령을 실행하면 ls -l|./rename.awk|sh
다음과 같은 결과가 나타납니다.
new/foo06
new/foo07
new/foo08
new/foo09
new/foo10
new/bar15.txt
new/bar16.txt
new/bar17.txt
new/bar18.txt
rename.awk
물론 스크립트나 쉘 명령을 수정하여 특정 패턴에 맞게 파일 이름을 바꾸거나 다른 양만큼만 증분할 수 있습니다.