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类似,都是一对一从左到右转换,具体例子类似上面