![mp3 파일 이름을 패턴으로 바꾸기](https://rvso.com/image/36023/mp3%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%ED%8C%A8%ED%84%B4%EC%9C%BC%EB%A1%9C%20%EB%B0%94%EA%BE%B8%EA%B8%B0.png)
나는 같은 이름을 좋아하는 목록을 가지고 있습니다.
/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 같은 것... 데비안 저장소와 기타 저장소에 여러 개가 있습니다.