fb2 в консоли
Навеело тут беседой на ЛОРе и результатом этой беседы в виде башскрипта от топикстартера для чтения fb2 в консоли.
Нужность оригинального скрипта с которого начался топик при наличии xsltproc FB2_2_txt.xsl я обсуждать не буду, а вот от bash скрита родившегося у ТС в результате немного бомбит
- скрипт используя zcat зачем-то проверяет архив ли это (у zcat есть опция -f, жаль у zless такого нет)
- скрипт игнорирует кодировку файлов, хотя во времена когда почти везде utf8 сие не грех
- оформлено всё цивильненько, аж с маном, лицензией, ченджлогом и файлом версии, проверками всякими, хелапами… хотя суть всего скрипта сводиться к sed'у
При таком хорошем оформлении сам скрипт мне не понравился, ну нафига столько городить ради однострочника? В итоге у меня появилась такая функция
# сама фунция
fb2read() {
zcat -f $1| sed -r 's/<body>/\n&\n/;s/<\/body>/\n&\n/;1,/<body>/d;/<\/body>/,$d;s/<[^>]+>//g;/^[[:space:]]*$/d'|enca -c 2>/dev/null
}
# использовать как
fb2read file.fb2[.zip|.gz] | [most|less|more|что там ещё]
# ну или суфиксным алиасом как-нить пристроить
Помимо корутилсов для конвертации кодировки необходимо ещё enca ну и какой-нибудь most/less
Но вообще лучше fbless для консоли пока ещё ничего не придумали