23、sed常用命令

1、匹配与不匹配: n p ! 

sed -n '/ATTGC/p' file1                           ##-n打印匹配到的行输出,默认所有行输出。

sed -n '/AT\|GC/p' file1  sed -n '/\(AT\|GC\)/p' file1       ##多个条件匹配(或),与grep 命令类似grep 'AT\|GC' file1

sed -n '/ATTGC/!p' file1                         ##没有匹配上的打印出来

2、删除行: d

sed '3,$d' file1                   ##删除3到最后一行,其余行打印出来

sed '/ATGC/d' file1                 ##匹配的行删除

3、替换: [] {} ()

sed 's/ATGC/atgc/' file1               ##替换后的行和没有替换的行一起打印出来

sed -n 's/ATGC/atgc/p' file1             ##替换后的行打印出来

sed 's/[ \t]\{1,\}/\t/' file1                  ##替换多个空格和tab为单个tab

sed 's/^[0-9]/000&/' file1              ##在数字开头的行前面加000(&)

sed 's/AA\(abc\)BB/\1CC/' file1           ##捕获,追加(\1)

4、添加行: a i

sed '/^AAA/a \\' file1                ##开头匹配到AAA的行后增加一空行

sed '/^AAA/i \\' file1                 ##开头匹配到AAA的行前增加一空行

5、获取下一行: n

sed '/^>/{n;y/ATGC/TACG/;}'  file.fa         ##获得fa文件的互补序列,或者sed '/^>/!{y/ATGC/TACG/;}'  file.fa

 

6、转换:y

y与tr类似,都是一对一从左到右转换,具体例子类似上面

 

posted @ 2018-08-25 12:24  风中之铃  阅读(1187)  评论(0编辑  收藏  举报