폴더 내의 새 폴더를 감시하고 폴더(및 하위 폴더)로 CD를 넣은 다음 스크립트를 실행합니다.

폴더 내의 새 폴더를 감시하고 폴더(및 하위 폴더)로 CD를 넣은 다음 스크립트를 실행합니다.

변환해야 할 오디오 파일이 많이 있는데, 파일이 포함된 폴더를 다른 폴더로 이동할 때 자동으로 이런 일이 일어나도록 하고 싶습니다. 그러면 그곳에서 마법 같은 일이 일어나게 됩니다. 데비안 시스템에 있습니다.

어떤 도움이라도 대단히 감사하겠습니다.

답변1

inotifywait 및 ffmpeg가 설치되어 있는지 확인하고 처음에 3개 변수를 올바른 설정으로 설정한 후 시도해 보세요.

#!/bin/bash

watch_dir="WHEREEVER"
convert_from="flac"
convert_to="mp3"

inotifywait -qmr -e 'move,close_write' \
  --include ".${convert_from}" --format '%w%f%0' \
  --no-newline "$watch_dir" |
  while IFS= read -r -d '' file
  do
    ffmpeg -i "$file" -ab 320k \
      -map_metadata 0 -id3v2_version 3 \
      "${file/%.${convert_from}/.${convert_to}" > "$watch_dir"/log.txt 2>&1
    rm -- "$file"
  done

관련 정보