簡體   English   中英

用sed和cut命令復制行

[英]duplicating line with sed and cut command

我有一個像這樣的條目文件:

@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

我想將第二行從第一行切到第45行。 因此,我使用了以下命令:

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

如果只想每隔第二行剪切一次,而其余各行保持不變,則使用awk可能會更容易:

awk 'NR % 2 == 0 { print substr($0, 0, 45) } NR % 2 == 1 { print }' BT8_A.fastq

單程:

$ sed 'n;s/\(.\{45\}\).*/\1/' file

這是一個單線的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM