特定の文字列に基づいて新しい行を開始し、同じ行の対応する文字列の間に行を追加する必要があります。
入力する:
Gator_locus100
AGTCGTGTAGATGATAGTCGATGATGGATGANNNNGTACGT
GCTCAGTCGTGCTCGTCGATCGATCGTCAGCTCGATCGATCGATCGATCGACTCGATCG
GCTCGATCGATCGATC
Gator_locus101
ATCGATCGATCGATCGATCGATCGATCGATCGAT
GCAGTCGATCGATACGATCGATACGACTACGA
TCGATCGATCGCATCGATCGATCGACTC
Gator_locus102
NNNNNNNNNGCTCAGTCGATCGATCGCATCGATCGACTACGTACGATCGATCAGCATCAG
GCTCAGTCGTGCTCGTCGATCGATCGTCAGCTCGATCGATCGATCGATCGACTCGATCG
GACTCAGATCGATGACTACGATCAGATCGATAACGATCAGTACGACTACGATCAGCATCAGAT
NNNNNNNNNNNNNNNNNNNNNGACTACGACATCGATCAGACTCAGACGT
出力:
Gator_locus100 AGTCGTGTAGATGATAGTCGATGATGGATGANNNNGTACGTGCTCAGTC....
Gator_locus101 ATCGATCGATCGATCGATCGCGATGCAGTCGATCGATACGATCGATACG....
Gator_locus102 NNNNNNNNNGCTCAGTCGATCGATCGCATCGATCGACTACGTACGATC .....
どうすればいいですか?
答え1
awk
解決策:
awk -v ORS= '/Gator_/{ if (NR > 1) print RS RS }1; END{ print RS }' file
出力:
Gator_locus100 AGTCGTGTAGATGATAGTCGATGATGGATGANNNNGTACGTGCTCAGTCGTGCTCGTCGATCGATCGTCAGCTCGATCGATCGATCGATCGACTCGATCGGCTCGATCGATCGATC
Gator_locus101ATCGATCGATCGATCGATCGATCGATCGATCGATGCAGTCGATCGATACGATCGATACGACTACGATCGATCGATCGCATCGATCGATCGACTC
Gator_locus102NNNNNNNNNGCTCAGTCGATCGATCGCATCGATCGACTACGTACGATCGATCAGCATCAGGCTCAGTCGTGCTCGTCGATCGATCGTCAGCTCGATCGATCGATCGATCGACTCGATCGGACTCAGATCGATGACTACGATCAGATCGATAACGATCAGTACGACTACGATCAGCATCAGATNNNNNNNNNNNNNNNNNNNNNGACTACGACATCGATCAGACTCAGACGT