一个sed命令没看懂

sed -n '1~4s/^@/>/p;2~4p' file.fq > file.fa

没看懂这行代码,只看懂了中间的替换,求大神解释下,谢谢了!

阅读 3.9k
1 个回答

分开解释吧
1~4s/^@/>/p
表示从第1行开始,每第4行执行s/^@/>/p命令,将行首@字符替换为>
2~4p
表示从第2行开始,每第4行打印
> file.fa
将结果输出重定向到file.fa文件

演示一下:

$ cat file.fq
@1
@2
@3
@4
@5
@6
@7
@8
@9
@10
@11
@12
@13
@14
@15
@16
@17
@18
@19
@20

$ sed -n '1~4s/^@/>/p' file.fq
>1
>5
>9
>13
>17

$ sed -n '1~4s/^@/>/p;2~4p' file.fq
>1
@2
>5
@6
>9
@10
>13
@14
>17
@18
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进