Перл спешит на помощь
perl -laF/-/ -ne '
if (/^>/) { print; $header = "$_\_2"; }
else { print join "\n", $F[0], $header, $F[1] }
' -- input-file
-n
считывает ввод построчно -l
удаляет новые строки из ввода и добавляет их к операторам print
-aF/-/
разделяет вход на-
При чтении строки заголовка он выводит ее и сохраняет заголовок для последующего использования. При обработке последовательности он печатает первую часть, сохраненный заголовок и вторую часть.
Глядя на https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/tree/mkfs/f2fs_format_main.c, определение функции синтаксического анализа _взято из файла include/f2fs_fs.h
. Эта функция использует таблицу с 10 именами функций (, не все из которых имеют смысл для обычных пользователей!):https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/tree/include/f2fs_fs.h#n1361:
encrypt
extra_attr
project_quota
inode_checksum
flexible_inline_xattr
quota
inode_crtime
lost_found
verity
sb_checksum