最初の行の一部と、次の行に追加のテキスト文字列を追加したい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