여러 날짜에 대해 이 스타일로 이름이 지정된 파일이 있는데 02.04.11 DJ Kilbot.mp3
다음과 같이 이름 형식을 다시 지정하고 싶습니다 DJ Kilbot 2011-02-04.mp3
. 즉, 현재 형식은 MM.DD.YY DJ-NAME.mp3
이고 DJ-NAME YYYY-MM-DD.mp3
몇 년 된 파일의 경우 가장 쉬운 방법은 무엇입니까? ?
답변1
cd
해당 디렉터리로 이동하여 다음 명령을 실행합니다( 사용 perl-rename
). 첫 번째 '미리보기'입니다.
rename -n 's/^([0-9]{2})\.([0-9]{2})\.([0-9]{2}) (.*)\.mp3$/$4 20$3-$1-$2.mp3/' *
02.04.11 DJ Kilbot.mp3 -> DJ Kilbot 2011-02-04.mp3
출력이 만족스러우면 실제로 실행해 보세요.
rename 's/^([0-9]{2})\.([0-9]{2})\.([0-9]{2}) (.*)\.mp3$/$4 20$3-$1-$2.mp3/' *
설명하다
rename -n
:테스트 "모의 실행"을 실행합니다.'s/FOO/BAR/'
정규식을FOO
로 바꿉니다BAR
.^([0-9]{2})\.([0-9]{2})\.([0-9]{2}) (.*)\.mp3$
: 캡처할 정규식입니다. 문자열의 시작 부분과 일치하고 그 뒤에 점으로 구분된 세 그룹(즉, 두 개의 연속 숫자)이 옵니다^
(이스케이프된 경우). 그런 다음 공백과 괄호는 대체할 내용을 캡처합니다.[0-9]{2}
\.
(.*)\.mp3$
()
$4 20$3-$1-$2.mp3
$4
: 네 번째 캡처 그룹( ) 이상의 DJ 이름을(.*)
지정된 문자열의 나머지 부분(예: 세 번째, 첫 번째 및 두 번째 그룹)으로 바꿉니다.*
: 디렉토리의 모든 파일에 대해 작동합니다.
단순화하다
이 정규 표현식에는 몇 가지 오류 검사 기능이 내장되어 있습니다. 모든 파일의 이름이 일관되게 지정되었다고 확신하는 경우 이를 다음과 같이 약간 단순화할 수 있습니다.
rename 's/^(..)\.(..)\.(..) (.*)\.mp3$/$4 20$3-$1-$2.mp3/' *
답변2
아니요 rename
:
for file in *.mp3
do
no_extension=${file%.mp3}
the_date=$(echo "${no_extension}" | cut -d ' ' -f 1)
year=20${the_date:6}
month=${the_date:0:2}
day=${the_date:3:2}
date_part=${year}-${month}-${day}
dj_part=$(echo "${no_extension}" | cut -d ' ' -f 2-)
new_file="${dj_part} ${date_part}.mp3"
mv "${file}" "${new_file}"
done
설명하다:
for file in *.mp3
.mp3
확장자로 끝나는 현재 디렉터리의 모든 파일을 반복합니다.${file%.mp3}
.mp3
다음을 사용하여 파일 끝에서 확장명을 제거합니다.bash 문자열 조작$(echo ${no_extension} | cut -d ' ' -f 2-)
cut
문자로 구분된 문자열을 구문 분석할 수 있는 이 유틸리티를 사용하여 파일 이름의 날짜 부분을 추출합니다.- 그런 다음 하위 문자열을 추출하여 날짜 형식을 변경합니다.
"${dj_part} ${date_part}.mp3"
우리가 만든 부품을 문자열로 연결한 것뿐입니다.mv "${file}" "${new_file}"
파일명 변경
답변3
파일 이름이 정확히 이런 식으로 지정되었다고 가정합니다.
for file in "*.mp3";do
date="${file:0:8}" #get the date in the filename.
dj="${file%.mp3}" #strip the extension off the filename.
dj="${dj:8}" # get dj name.
mv -nv $file "$dj $date.mp3" # -n don't overwrite files.
done
답변4
파이 이름 바꾸기GUI가 있으며 자동 미리보기가 가능합니다.
이것을 원본 파일 이름 패턴 필드에 입력하세요.
{#}.{#}.{#} {X}.mp3
이름이 변경된 파일 이름 모드로 들어갑니다.
{4} {3}-{1}-{2}.mp3
유일한 단점은 "Windows" 모드(1, 10, 11, 2, 3, 4...)로 정렬된다는 것입니다.