生信人

找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

0

收听

12

听众

279

主题
发表于 2022-7-5 09:56:18 | 查看: 717| 回复: 0
一、软件介绍
       sed 全称是 Stream EDitor,是一种流编辑器,什么是流编辑器呢。也就是相当于一个格式化的工具。当数据流过这个工具时,都被格式化成固定的格式。比如一个流水线中的一个模具,原材料是各种形状的,但是结果模具处理之后都变成同一的形状。这就是流编辑器。sed 默认一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。原文件内容并没有改变。sed 主要用来自动编辑一个或多个文件,简化对文件的反复操作。而不需要编写转换程序来完成。
二、命令大全
  1. #1 输出固定的行
  2. cat -n demo.fasta | sed -n '1307p'
  3. cat -n demo.fasta | sed -n '100,200p'

  4. #2 替换操作
  5. grep ">" demo.fasta | sed -e 's/gi/GI/' | head
  6. sed -i 's/gi/GI/g' demo.fasta  
  7. sed -i.bak 's#GI#gi#' demo.fasta #改后生成新的文件bak后缀
  8. grep ">" demo.fasta | sed -e 's/|/#/2;s/ref/REF/' | head

  9. #3 打印发生替换的行
  10. sed -n 's/gi/GI/p' demo.fasta

  11. #4 同时进行多条件替换;
  12. sed -f sed.list demo.fasta  

  13. #5 使用正则表达式替换,空格后一串字符删除掉
  14. grep ">" demo.fasta | sed -e 's/ .*//g' | head
  15. #使用正则表达式替换,冒号后一串字符删除掉
  16. grep ">" demo.fasta | sed -e 's/:.*//g' | head

  17. #6 行首添加内容
  18. sed -e 's/^/time /g' test.bed

  19. #7 行尾追加内容
  20. sed -e '$a \the end of file' test.bed
  21. #直接修改
  22. sed -i '$a \###the end of file###' test.bed

  23. #8 行寻址
  24. sed -n '/ref/p' demo.fasta  
  25. grep ">" demo.fasta | cat -n | sed -n '100,200 s/gi/GI/gp'
  26. grep ">" demo.fasta | cat -n | sed -n '100,200! s/gi/GI/gp'

  27. #9 删除操作
  28. sed -e '/>/d' demo.fasta #删除包含>的行;

  29. #10 删除空白行,比较常用
  30. sed -e '/^\s*$/d'  demo.fasta

  31. #11 对应替换 A-a
  32. sed -e 'y/ATCG/atcg/' demo.fasta
  33. sed -e '/>/!y/ATCG/atcg/' demo.fasta  #不处理>行

  34. #12 DNA序列反向互补配对,并修改大小写
  35. sed -e '/>/!y/ATCG/tagc/' demo.fasta  

  36. #13 fastq转换为fasta
  37. zcat demo.fastq.gz | sed '0~4d' | sed '0~3d;s/^@/>/1'
复制代码






您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|小黑屋|生信人

GMT+8, 2024-5-3 00:21 , Processed in 0.037833 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表