что-то-там-такое | grep -o '<genre>.*</genre>' | sed -e 's/<\/*genre>//g'
только выглядит страшно. Поэтому вопрос- а как будет правильно?
Про структуру документа FB2 я думаю не нужно рассказывать, все итак видели?
(В данном случае "выдергиваем" жанр, все это еще нужно проделать для названия и автора. Дальше все уже примитивно будет)
Боюсь, что правильного способа обработки XML в ком. строке не существует. Любой способ - костыль, либо неудобный (например, скрипт на перле), либо имеющий множество случаев, в которых он будет работать неправильно (например, ваш способ).
Скрипт для извлечения описания из FB2 и переименования файлов (умеет работать с zip файлами, показывать обложку и оглавление). http://pybookreader.narod.ru/fb2desc.tgz