新しい文字列「title」が表示されるまで、別の行の前に文字列「title」を入れることはできますか? awk、sed、Perlなどを使用して再帰問題を解決しました。

新しい文字列「title」が表示されるまで、別の行の前に文字列「title」を入れることはできますか? awk、sed、Perlなどを使用して再帰問題を解決しました。

次のコンテンツを含む100万行を超えるtxtファイルがあります(Match_nと「cggggg」の間のタブ)。

Sequence_1
Match_1 cggggg
Match_2 gggggc
Match_3 ggggcc
Match_4 cgggcc
Match_5 agggca
Match_6 agggta
Sequence_2
Match_1 tgggca
Match_2 aggggg
Match_3 gggggc
Match_4 ggggca
Sequence_3
Match_1 cggggt
Match_2 ggggtt
Match_3 tgggga
Match_4 ggggac
Match_5 cggggc

次の形式が必要です。

Sequence_1  Match_1 cggggg
Sequence_1  Match_2 gggggc
Sequence_1  Match_3 ggggcc
Sequence_1  Match_4 cgggcc
Sequence_1  Match_5 agggca
Sequence_1  Match_6 agggta
Sequence_2  Match_1 tgggca
Sequence_2  Match_2 aggggg
Sequence_2  Match_3 gggggc
Sequence_2  Match_4 ggggca
Sequence_3  Match_1 cggggt
Sequence_3  Match_2 ggggtt
Sequence_3  Match_3 tgggga
Sequence_3  Match_4 ggggac
Sequence_3  Match_5 cggggc

追加情報:合計10.000個の「Sequence_N」があり、各シーケンスには異なる「Match_n cggggc」数があります。

ありがとうございます! !

ベストアンサー1

awk -v OFS='\t' 'NF==1{seq=$0; next} {print seq, $0}' file

おすすめ記事