Спасибо что откликнулись более подробно, так сказать со всем моим кодом.
В общем, идея довольно интересная, пригодится всем кто любит читать, или имеет небольшую или большую библиотеку книг в формате fb2. Их теперь развелось много.
Однако имена таких fb2 файлов могут быть не всегда приятными. Ну, например, имя файла на английском, но читать нужно по русский, или к имени файла приляпали какой-то номер, или вообще файл назван не тем именем. И вследствие этого поиск нужной книжки в личной библиотеке может затягиваться или затруднятся.
Вот я немного подумал, по изучал, этот формат так сказать изнутри, как я и предполагал внутри файла fb2 хранится вся нужная информация, а именно это Имя и Фамилия автора и названия книги, причем всегда в правильном русском исполнении. Остаётся эти строки извлечь, форматировать и этой строкой переименовывать собственно сам файл.
Например, таким форматом Светлана Олешкина Игры в кошки мышки.fb2
Ну или вот так Светлана _Олешкина_Игры в кошки мышки.fb2 Ну тут уже каму как нравится.
Это намного читабельней, чем имя файла подобное этому
002_Svetlana Oliehcina Igri v cohci mihci.fb2
Ну, решил начать с простого сначала извлечь хотя бы имя автора.
Так выглядит информация внутри файла fb2
Мой код:
#!/bin/bash
DIR="/home/user/books/fb2/"
find "$DIR" -iname "*.fb2" | while read
do
NEIM="$(sed -n '/<first-name>/p' "$REPLY" | sed -e 's/<first-name>//' -e 's/<\/first-name>//' -e 's/ //')"
echo "${NEIM}"
cd /home/user/books/fb2/"
mv "$REPLY" "${NEIM}.fb2"
done
Пробелы кстати так и не удаляются. Потому как в терминале имя выглядит вот так
Светлана
Подробно 4 пробела, а затем имя Светлана, и именно так оно переименовывает файл 4 пробела и видимо знак окончания строки, который в терминале не видим.
Вот я и спрашивал, как избавиться от всего этого.
И дальше, файл конечно же после выполнения скрипта, файл сменил имя на если смотреть под
Linux, 4 пробела Светлана далее следует Квадратик, наверное всё-таки знак окончания строки, и .fb2
Под windows имя файла ыглядит так _XC0Q3~M.FB2 , сам файл отрывается, читается с ним всё в порядке.
И еще файлы fb2 могут кодироваться, как и веб страници, тем более что язык очень похож, даже не похож, а наверно xml, не только в
<?xml version="1.0" encoding="utf-8"?>
Но и <?xml version="1.0" encoding="windows-1251"?> но эта кодировка встречается редко.
Тут видимо стоит искать логическое решение, например, считать первую строку сравнить с шаблоном, и дальше ветвиться скрипт.
Вот такие странные проблемы. Помогите чем могите……