странно кодировка от небольшого количества музыки, которую я получил от друга с Windows 7 OS, обнаруживается с неправильным кодированием в nautlius. Я уже попробовал его
convmv --notest -r -f windows-1255 -t utf-8 *
но это не зафиксировало его. Это скорее, но другое неправильное кодирование. Я попробовал также latin1 и latin3. Так как я не знаю то, чем было исходное кодирование, и я не могу узнать это, я продолжаю задаваться вопросом, каковы мои опции.
Спасибо за любой совет.
Чтобы попробовать все кодировки, выберите один из ваших файлов, например, mychosenfile.mp3m, а затем переберите все кодировки. Если повезет, вы найдете тот, который, кажется, будет в порядке. Это просто перечисляет возможные новые имена:
file=mychosenfile.mp3
for enc in $(convmv --list)
do echo $enc: $(convmv --parsable -f $enc -t utf-8 "$file")
done
Кроме того, вы можете переименовать файлы в дорожку песни и заголовок взят из тега id3, если они есть. Например, (это просто эхо команды mv):
find mydir -name '*.mp3' |
while read file
do if newname="$(id3info "$file" |
awk -F': ' '
/^=== TRCK/{ track = $2 }
/^=== TIT2/{ title=$2;gsub(" ","_",title) }
END { if(title!="")printf "%02d_%s.mp3\n",track,title }
')"
then dir=$(dirname "$file")
echo mv "$file" "$dir/$newname"
fi
done
Чтобы удалить специальные символы из всех имен файлов, используйте detox
:
detox -r -v -s utf8 /path/to/files/
Вы также можете передать -n
, чтобы увидеть, что это будет сделано, и убедиться, что это звучит разумно.
Чтобы переименовать все файлы в соответствии с их музыкальными тегами, используйте lltag
:
lltag -R --mp3v2 --mp3read=21 --rename '/new/path/%a/%A/%n %t' /path/to/files
. Вы должны рассмотреть возможность передачи --dry-run
для первого вызова, чтобы увидеть, что будет сделано; пропустите --yes
, если вы устали отвечать на вопросы (может повлиять на качество новых имен в случае отсутствия тегов и т. п.).
Более подробно в man detox
и man lltag
.