mp3 파일 이름을 패턴으로 바꾸기

mp3 파일 이름을 패턴으로 바꾸기

나는 같은 이름을 좋아하는 목록을 가지고 있습니다.

/A/B/C/D/E/F/filename_album1-003.mp3

앨범에 더 가깝습니다\d+

다음과 같은 것으로 바꾸고 싶습니다.

/A/B/C/D/E/F/filename_song-3.mp3

song단지 고정된 문자열일 뿐입니다.

나는 basename -s '.mp3'and then 과 같은 것을 시도했지만 sed -e /_album//g` 숫자가 누락되고 앞에 오는 001이 모두 제거되지 않습니다. 이를 수행하는 좋은 방법은 무엇입니까?

답변1

와 함께 zsh:

$ autoload zmv # best in ~/.zshrc
$ zmv -n '(**/)(*_)*-0#(<->.mp3)' '$1$2song-$3'
mv -- A/B/foo_bar-0002.mp3 A/B/foo_song-2.mp3

-n만족스러우면 제거하세요 .

답변2

이 시도 :

rename -n 's/_album1-0*/-song-/' /A/B/C/D/E/F/filename_album1-003.mp3

( -n테스트가 정상이면 스위치를 제거하십시오)

경고 이 작업을 수행할 수도 있고 수행하지 못할 수도 있는 같은 이름의 다른 도구가 있으므로 주의하세요.

다음 명령을 실행하면 ( GNU)

$ file "$(readlink -f "$(type -p rename)")"

그리고 당신은 다음과 같은 결과를 얻었습니다

.../rename: Perl script, ASCII text executable

다음을 포함하지 않음:

ELF

그렇다면 이것이 올바른 도구인 것 같습니다 =)

Debian그렇지 않은 경우 다음과 같은 파생 항목을 기본값(일반적으로 이미 적용됨)으로 설정합니다 Ubuntu.

$ sudo update-alternatives --set rename /path/to/rename

( /path/to/rename명령 경로로 바꾸십시오 perl's rename.


이 명령이 없으면 패키지 관리자를 검색하여 설치하거나수동으로 해라


마지막으로 이 도구는 원래 Perl의 아버지인 Larry Wall이 작성했습니다.

답변3

새로운 "노래" 이름을 어디서 얻었는지, 시작 filename_album1-003.mp3과 전환이 무엇인지 알 수 없습니다 filename_song-3.mp3.

ID3 태그에서 노래 이름을 얻는다면 태그 정보에서 mp3의 이름을 바꿀 수 있는 프로그램을 사용하는 것이 더 쉬울 것입니다. easytag, mp3rename, lltag 같은 것... 데비안 저장소와 기타 저장소에 여러 개가 있습니다.

관련 정보