独自の列を含むファイルがあり、この列を特定の文字列(chr)に基づいて複数の列に分割したいと思います。
入力は次のとおりです。
chr10:127293562-127293909
BRUNOL4(Hs/Mm)
CPEB4(Hs/Mm)
CUG-BP(Hs/Mm)
DAZAP1(Hs/Mm)
ENOX1(Hs/Mm)
FMR1(Hs/Mm)
chr11:49214073-49214804
BRUNOL4(Hs/Mm)
BRUNOL5(Hs/Mm)
CPEB2(Hs/Mm)
CPEB4(Hs/Mm)
CUG-BP(Hs/Mm)
HNRNPC(Hs/Mm)
出力は次のようになります。
chr10:127293562-127293909 chr11:49214073-49214804
BRUNOL4(Hs/Mm) BRUNOL4(Hs/Mm)
CPEB4(Hs/Mm) BRUNOL5(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)
どんなアイデアでも大いに感謝します。
ベストアンサー1
awk '/^chr/{i++}
{print > "_aux" i }
END {system( "paste _aux* | column -tn; rm _aux*")}' file
- 最初の2行(
print > "_aux" i
)は入力をファイルセットに分割します_aux1
..._auxn
(各ファイル= 1列) - 最後に、
paste _aux* | column -tn
さまざまなセクションを貼り付けてフォーマットします。
このソリューションは複数の列を処理できることを願っています。