1、grep文件内搜索 (支持正则表达式)
(1)统计 fasta 文件中序列条数
grep ">" a.fasta
(2)只显示自己的文件
ls -l | grep "用户名"
note:
-i 忽略大小写
-v 反选,输出不包含条件的行
-n 显示结果所在的行
-Ax 关键字后面的行
-Bx 关键字前面的行
2、sed 流处理器
(1)替换 fasta 文件 ID
将 a 文件中的 a 表头替换为无
sed -e "s/a//g" a #e代表新窗口显示
sed -i #源文件修改
(2)fastq 文件替换为 fasta
sed -e "0~4d" 1.fastq | sed -e "0~3d" | sed -e "s/@/>/g" > 1.fasta
(3)可以输出一个文件的任意行
sed -n "1307p" 1.fna #输出1307行
sed -n "100,500p" 1.fna #输出100到500行
3、awk 工具
(1)将 fastq 格式转换为 fasta 格式
awk "{getline seq;getline plus;getline qual;sub("@",">",$0);print $0 "\n"seq}" 1.fastq > 1.fasta
(2)数据文件固定的列
awk"{print $2}" blast2.out #$2 表示输出第二列,若是$0则是表示所有的列,即一整行
(3)按条件过滤输出
awk "{if($3>=80 && $4 >=100)print$0}" blast1.out
awk "{if($3>=80 && $4 >=100)print$0}" blast1.out | sort -n -k1 | uniq | wc