Скачал дискографию The Doors, в APE формате, а mpd, который у меня щас в качестве плеера, не показывает отдельные треки. Буквально за 5 секунд нашёл решение вопроса, как это всё порезать, за авторством уважаемого Barlog_M:
Copy Source | Copy HTML
#!/bin/sh
CUE_COUNT=`ls -l *.cue | wc -l`
if [ $CUE_COUNT != "1" ]; then
echo "Don't know which CUE to use"
exit
else
CUE_INPUT_FILE=`ls *.cue`
echo "Using $CUE_INPUT_FILE"
fi
APE_COUNT=`ls -l *.ape | wc -l`
if [ $APE_COUNT != "1" ]; then
echo "Don't know which APE to use"
exit
else
APE_INPUT_FILE=`ls *.ape`
echo "Using $APE_INPUT_FILE"
fi
CONVERT_FROM="cp1251"
WORK_CUE="work.cue"
PREFIX="track"
# convert tags if necessary
if [ -n "$CONVERT_FROM" ]; then
cat "$CUE_INPUT_FILE" | iconv -f "$CONVERT_FROM" -t utf8 > ${WORK_CUE}
else
cp "$CUE_INPUT_FILE" ${WORK_CUE}
fi
# split and tag tracks
cuebreakpoints work.cue | shnsplit -o flac -a ${PREFIX} "$APE_INPUT_FILE"
cuetag work.cue "$PREFIX"*.flac
# there's no standard way to set the year - using this 'kostyl'
year=`grep DATE work.cue | sed -e "s/.*DATE[ \t]*//"`
metaflac --set-tag="DATE=$year" "$PREFIX"*.flac
# remove temporary cue
rm ${WORK_CUE}
# rename tracks using pattern 01 - <title01>.flac, 02 - <title02>.flac, ...
for file in *.flac; do
number=`metaflac --show-tag=TRACKNUMBER $file | sed -e "s/.*=//"`
title=`metaflac --show-tag=TITLE $file | sed -e "s/.*=//"`
mv $file "`printf "%02i" $number` - $title.flac"
done
Я этот скрипт назвал cut. Смысл - кладём его в папочку с APE и запускаем. В реультате получается кучка файлов, с нумерами и названиями, очень хорошо !
Да! Надо, чтобы был установлен пакет cuetools, чтобы работало :-)