$ csplit -zsf file -n 1 ip.txt /^chr/ {*} ; paste file* | column -nt
chr10:127293562-127293909 chr11:49214073-49214804 chr11:49854587-49855127
BRUNOL4(Hs/Mm) BRUNOL4(Hs/Mm) A1CF(Hs/Mm)
CPEB4(Hs/Mm) BRUNOL5(Hs/Mm) BRUNOL4(Hs/Mm)
CUG-BP(Hs/Mm) CPEB2(Hs/Mm)
DAZAP1(Hs/Mm) CPEB4(Hs/Mm)
ENOX1(Hs/Mm) CUG-BP(Hs/Mm)
FMR1(Hs/Mm) HNRNPC(Hs/Mm)
HNRNPCL1(Hs/Mm)
HNRNPH1(Hs/Mm)
HuR(Hs/Mm)
MBNL1(Hs/Mm)
NOVA1(Hs/Mm)
csplit
, используемый для разделения файлов на основе шаблона
-z
, параметр для удаления пустых файлов (для таких случаев, как сопоставление с шаблоном самой первой строки)
-s
подавить вывод журнала
-f file -n 1
имя выходных файлов начинается с file
, а суффикс из одной цифры
ip.txt
является входным файлом, / ^ chr /
- шаблон для работы с
{*}
как можно больше разделений
затем вставка
используется для объединения разделенных файлов по столбцам
столбцам -nt
используется для стилизации вывода при вставке, -n
предотвращает поведение по умолчанию столбца
для объединения смежных разделителей и расширения GNU
Jake
27.08.2015, 07:39
Ссылка