テキスト行の一部を次の行に移動するには?

テキスト行の一部を次の行に移動するには?

最初の行の一部と、次の行に追加のテキスト文字列を追加したいRNAシーケンスのfastqファイルがあります。

私のファイルの最初の8行は次のとおりです。

@V300088128L1C001R0010000004#TCCTCGCATG/1
TTCAAGTAATCCAGGATAGGCT
+
FFDFFFFFFFFGFFFFFFFFFF
@V300088128L1C001R0010000019#CTGATATAGA/1
GTGGATCACTTGGCTCGGGA
+
F:FFFGF?FGGFFFFGFFEE

@で始まる各行の#と/ 1の間の部分を次の行の最後までコピーしてから、文字列をコピーしたいと思います。AGTCGGAGGC。結果は次のとおりです。

@V300088128L1C001R0010000004#TCCTCGCATG/1
TTCAAGTAATCCAGGATAGGCTTCCTCGCATGAGTCGGAGGC
+
FFDFFFFFFFFGFFFFFFFFFF
@V300088128L1C001R0010000019#CTGATATAGA/1
GTGGATCACTTGGCTCGGGACTGATATAGAAGTCGGAGGC
+
F:FFFGF?FGGFFFFGFFEE

確認しましたテキストを見つけてコピーしてファイルの次の行に挿入するにはどうすればよいですか?ただし、この例では、既存の行に追加されるのではなく、新しい行が挿入されます。また、以下を試しましたが、検索された文字列を(すでに存在する)末尾に追加/コピーする方法がわかりません。次へワイヤー。

sed -E 's%#(.*)/%$\1AGTCGGAGGC%g' test3.txt > test3new.txt

ベストアンサー1

$ cat tst.awk
str != "" { $0 = $0 str "AGTCGGAGGC"; str="" }
match($0,"#.*/") { str = substr($0,RSTART+1,RLENGTH-2) }
{ print }

$ awk -f tst.awk file
@V300088128L1C001R0010000004#TCCTCGCATG/1
TTCAAGTAATCCAGGATAGGCTTCCTCGCATGAGTCGGAGGC
+
FFDFFFFFFFFGFFFFFFFFFF
@V300088128L1C001R0010000019#CTGATATAGA/1
GTGGATCACTTGGCTCGGGACTGATATAGAAGTCGGAGGC
+
F:FFFGF?FGGFFFFGFFEE

おすすめ記事