68 lines
1.9 KiB
Bash
Executable File
68 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
||
|
||
# Rename Guillaume Meurice podcast files
|
||
# Also change the title tag (2016.09.30 Title)
|
||
# http://radiofrance-podcast.net/podcast09/rss_14257.xml
|
||
|
||
# If the first arg is a directory
|
||
if [ -d "${1}" ]; then
|
||
|
||
MEURICE_DIR="${1}"
|
||
TMP_LIST_FILE="/tmp/list_meurice_file"
|
||
|
||
# List audio files
|
||
find "${MEURICE_DIR}" -mindepth 1 -type f -iregex '.*\.mp3' > "${TMP_LIST_FILE}"
|
||
|
||
while IFS= read -r FILE
|
||
do
|
||
|
||
FILE_ABSOLUT_PATH="${MEURICE_DIR}/${FILE}"
|
||
|
||
# Get file information
|
||
FILE_EXT=$(echo "${FILE_ABSOLUT_PATH}" | awk -F'[.]' '{print $NF}')
|
||
|
||
# Get tag information
|
||
DATE=$(eyeD3 "${FILE_ABSOLUT_PATH}" | grep 'title' 2> /dev/null | sed 's/.*\(..\).\(..\).\(201.\).*/\3-\2-\1/')
|
||
TITLE=$(eyeD3 "${FILE_ABSOLUT_PATH}" | grep 'title' 2> /dev/null | sed 's/.*: \(.*\) \(..\).\(..\).\(201.\).*/\1/')
|
||
|
||
printf '%s\n' "date : ${DATE}"
|
||
printf '%s\n' "title : ${TITLE}"
|
||
|
||
# Correct title tag
|
||
command eyeD3 --title="${DATE} ${TITLE}" "${FILE_ABSOLUT_PATH}"
|
||
|
||
# Rename the file
|
||
mv "${FILE_ABSOLUT_PATH}" "${MEURICE_DIR}"/"${DATE}"_"${TITLE}"."${FILE_EXT}"
|
||
|
||
done < "${TMP_LIST_FILE}"
|
||
|
||
# If the first arg is a file
|
||
elif [ -f "${1}" ]; then
|
||
MEURICE_FILE="${1}"
|
||
MEURICE_DIR=$(dirname "${MEURICE_FILE}")
|
||
|
||
# Get file information
|
||
FILE_EXT=$(echo "${MEURICE_FILE}" | awk -F'[.]' '{print $NF}')
|
||
|
||
# Get tag information
|
||
DATE=$(eyeD3 "${MEURICE_FILE}" | grep 'title' 2> /dev/null | sed 's/.*\(..\).\(..\).\(201.\).*/\3-\2-\1/')
|
||
TITLE=$(eyeD3 "${MEURICE_FILE}" | grep 'title' 2> /dev/null | sed 's/.*: \(.*\) \(..\).\(..\).\(201.\).*/\1/')
|
||
|
||
printf '%s\n' "date : ${DATE}"
|
||
printf '%s\n' "title : ${TITLE}"
|
||
|
||
# Correct title tag
|
||
command eyeD3 --title="${DATE} ${TITLE}" "${MEURICE_FILE}"
|
||
|
||
# Rename the file
|
||
mv "${MEURICE_FILE}" "${MEURICE_DIR}"/"${DATE}"_"${TITLE}"."${FILE_EXT}"
|
||
|
||
# Otherwise print an error
|
||
else
|
||
printf '%s\n' "Error with the first arg : ${1}"
|
||
exit 1
|
||
fi
|
||
|
||
exit 0
|
||
|