1

次のようなエントリのようなファイルがあります。

@HWI-ST750:151:C1C6AACXX:8:1101:10000:14114/1
AAACATACCATTGCATATTTCGTATAATTCGAATTTAAGCAAGTTGTATTGCCAACAGCTCAGATCAATTAAGAATCTTTTCAAATTTATCAATTTA
+/1
DDHBFHHIAHHJEGJFGICHG;CGHGIJIIAIHHIJIGAGIE9FDFHGHG:4???BBC@8=;@FHI:DACHE>>AEAA@;B@;)6(>AC@>35@DDC
@HWI-ST750:151:C1C6AACXX:8:1101:10000:37802/1
GTTCCTTTACTTGCTCCCATGTCCCAATCTAACACACATGAGTCGTCGCACGCCAGTAAATCTAAAGATTTCAGACACTCAGACTCGTACAGTGAAA
+/1
FHHHHHJJIJJJJJJJJJJJJIJJJIJJJJJJJJJJJIHJIJ@GIHIIJJJIJHGHFFFFFFEEDEEEEDDDDDDDDDCDDCCCDDDABBDD>CC>A

1 番目から 45 番目の単語まで、2 行ごとに切り取りたいと思います。そこで、次のコマンドを使用しました。

sed "0~2p" BT8_A.fastq | cut -c1-45 | head -n 12

正常に機能しましたが、最初の 45 単語をカットした後、同じ行が次の行に追加されます。このように -

@HWI-ST750:151:C1C6AACXX:8:1101:10000:14114/1
AAACATACCATTGCATATTTCGTATAATTCGAATTTAAGCAAGTT
AAACATACCATTGCATATTTCGTATAATTCGAATTTAAGCAAGTT
+/1
DDHBFHHIAHHJEGJFGICHG;CGHGIJIIAIHHIJIGAGIE9FD
DDHBFHHIAHHJEGJFGICHG;CGHGIJIIAIHHIJIGAGIE9FD
@HWI-ST750:151:C1C6AACXX:8:1101:10000:37802/1
GTTCCTTTACTTGCTCCCATGTCCCAATCTAACACACATGAGTCG
GTTCCTTTACTTGCTCCCATGTCCCAATCTAACACACATGAGTCG
+/1
FHHHHHJJIJJJJJJJJJJJJIJJJIJJJJJJJJJJJIHJIJ@GI
FHHHHHJJIJJJJJJJJJJJJIJJJIJJJJJJJJJJJIHJIJ@GI

私はこれを解決することができません。ここで私が間違っているところ。助けて。

ありがとうございました。

私の望ましい出力は次のとおりです。

@HWI-ST750:151:C1C6AACXX:8:1101:10000:14114/1
AAACATACCATTGCATATTTCGTATAATTCGAATTTAAGCAAGTT
+/1
DDHBFHHIAHHJEGJFGICHG;CGHGIJIIAIHHIJIGAGIE9FD
@HWI-ST750:151:C1C6AACXX:8:1101:10000:37802/1
GTTCCTTTACTTGCTCCCATGTCCCAATCTAACACACATGAGTCG
+/1
FHHHHHJJIJJJJJJJJJJJJIJJJIJJJJJJJJJJJIHJIJ@GI
4

3 に答える 3

3

一方通行:

$ sed 'n;s/\(.\{45\}\).*/\1/' file
于 2013-02-20T10:19:01.490 に答える
3

他の行は変更せずに 2 行おきにのみ切り取りたい場合は、次のようにすると使いやすいでしょうawk

awk 'NR % 2 == 0 { print substr($0, 0, 45) } NR % 2 == 1 { print }' BT8_A.fastq
于 2013-02-20T10:14:37.813 に答える
2

ここにsedワンライナーがあります:

sed -r '2~2s/^(.{45}).*/\1/' file  

出力:

kent$  sed -r '2~2s/^(.{45}).*/\1/' file                                            │drwxr-xr-x 4 kent kent  160 Feb 15 16:48 pkg/
@HWI-ST750:151:C1C6AACXX:8:1101:10000:14114/1                                         │-rw-r--r-- 1 kent kent   19 Feb 15 14:06 status.xml
AAACATACCATTGCATATTTCGTATAATTCGAATTTAAGCAAGTT                                         │-rw-r--r-- 1 kent kent  18K Feb 15 16:44 tinyswitch.tgz
+/1                                                                                   │-rw-r--r-- 1 kent kent   73 Feb 15 14:06 t.sh
DDHBFHHIAHHJEGJFGICHG;CGHGIJIIAIHHIJIGAGIE9FD                                         │-rw-r--r-- 1 kent kent  18K Feb 15 16:24 tsw.tgz
@HWI-ST750:151:C1C6AACXX:8:1101:10000:37802/1                                         │-rw-r--r-- 1 kent kent 7.5K Feb 19 18:44 vimod.zsh
GTTCCTTTACTTGCTCCCATGTCCCAATCTAACACACATGAGTCG                                         │-rw-r--r-- 1 kent kent  23K Feb 19 22:09 vimrd
+/1                                                                                   │-rw-r--r-- 1 kent kent   42 Feb 17 16:00 x.txt
FHHHHHJJIJJJJJJJJJJJJIJJJIJJJJJJJJJJJIHJIJ@GI
于 2013-02-20T10:23:58.267 に答える