繁体   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