mp3 파일 이름을 특정 패턴으로 바꿉니다.

mp3 파일 이름을 특정 패턴으로 바꿉니다.

다음과 같은 이름 목록이 있습니다.

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

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

나는 그것을 다음과 같이 바꾸고 싶다.

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

song그냥 고정된 문자열입니다.

비슷한 것을 시도했지만 숫자가 누락되어 선행 001이 모두 제거되지 않았습니다 basename -s '.mp3'. sed -e /_album//g이를 수행할 수 있는 좋은 방법이 있습니까?

답변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처럼... 데비안 저장소와 다른 저장소에 여러 개가 있습니다

관련 정보