![폴더 내의 새 폴더를 감시하고 폴더(및 하위 폴더)로 CD를 넣은 다음 스크립트를 실행합니다.](https://linux55.com/image/226503/%ED%8F%B4%EB%8D%94%20%EB%82%B4%EC%9D%98%20%EC%83%88%20%ED%8F%B4%EB%8D%94%EB%A5%BC%20%EA%B0%90%EC%8B%9C%ED%95%98%EA%B3%A0%20%ED%8F%B4%EB%8D%94(%EB%B0%8F%20%ED%95%98%EC%9C%84%20%ED%8F%B4%EB%8D%94)%EB%A1%9C%20CD%EB%A5%BC%20%EB%84%A3%EC%9D%80%20%EB%8B%A4%EC%9D%8C%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%A9%EB%8B%88%EB%8B%A4..png)
변환해야 할 오디오 파일이 많이 있는데, 파일이 포함된 폴더를 다른 폴더로 이동할 때 자동으로 이런 일이 일어나도록 하고 싶습니다. 그러면 그곳에서 마법 같은 일이 일어나게 됩니다. 데비안 시스템에 있습니다.
어떤 도움이라도 대단히 감사하겠습니다.
답변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