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/[ ]{1,}/ /' 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类似,都是一对一从左到右转换,具体例子类似上面

原文地址:https://www.cnblogs.com/renping/p/9533507.html