macOS 터미널: 이름을 바꾼 후 MP3 파일의 메타데이터를 편집하는 방법은 무엇입니까?

macOS 터미널: 이름을 바꾼 후 MP3 파일의 메타데이터를 편집하는 방법은 무엇입니까?

변수를 사용하여 파일 이름을 다음 형식으로 바꾸는 스크립트가 있습니다.

(track#) - (title) - (artist) - (date).mp3
#! /bin/zsh -
set -o extendedglob
pattern='(#b)*_ \((<0-999>)\)(* )—( * )(<1-12>)_(<1-31>)_(<1900-2100>)(.mp3)'
ret=0
for file {
  if [[ $file = $~pattern ]] {
    argv=( "$match[@]" )
    mv -i -- $file "${(l[3][0])1} -$2-$3- $6-${(l[2][0])5}-${(l[2][0])4}-0900$7" || ret=$?
  }
}
exit $ret

이 스크립트, 이 파일을 사용하십시오.

Public Talks_ (9) Walking With God Brings Blessings Now and Forever — Chris Ruscher 10_28_2023.mp3

이름 바꾸기:

009 - Walking With God Brings Blessings Now and Forever - Chris Ruscher - 2023-28-10-0900.mp3

형식은 트랙 번호 - 제목 - 아티스트 - 날짜.mp3, 표시 변수: 입니다 $1 - $2 - $3 - $6-$5-$4-0900$7.

위의 모든 작업은 완벽하게 작동합니다.이제 이 스크립트에 추가하고 싶습니다.

그런 다음 이 값을 아래 표시된 메타데이터에 삽입하려고 합니다.

  1. $1>> 에서 개최되는 궤도kMDItemAudioTrackNumber
  2. 제목, 저장 위치 $2>>kMDItemTitle     
  3. 아티스트, 개최 장소 $3>>kMDItemAuthors
  4. 다음을 연결한 타임스탬프: $6${(l[2][0])5}${(l[2][0])4}0900>>kMDItemContentCreationDate

또한 스크립트는 파일 생성 날짜를 kMDItemContentCreationDate. touch -t위의 마지막 단계(4)에서 루프에 명령을 추가하려고 시도했지만 작동하지 않았습니다.

#! /bin/zsh -
set -o extendedglob
pattern='(#b)*_ \((<0-999>)\)(* )—( * )(<1-12>)_(<1-31>)_(<1900-2100>)(.mp3)'
ret=0
for file {
  if [[ $file = $~pattern ]] {
    argv=( "$match[@]" )
>   fecha=( "$6${(l[2][0])5}${(l[2][0])4}0900$7" )
>   touch -t $(date -j -f "%Y%m%d%H%M" $fecha +%Y%m%d%H%M) $file
    mv -i -- $file "${(l[3][0])1} -$2-$3- $6-${(l[2][0])5}-${(l[2][0])4}-0900$7" || ret=$?
  }
}
exit $ret

이는 터미널에서 zsh를 사용하는 macOS용입니다.

메타데이터 편집과 생성 날짜 조정이라는 두 가지 문제에 대해 어떻게 생각하시나요? 저는 스크립팅이 처음이라 포럼에서 찾은 내용을 정리했습니다. 귀하의 통찰력에 진심으로 감사드립니다.

관련 정보