Linux 高级命令操作

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • sed与awk实例 文本间隔 在每一行后面增加一空行 将原来的所有空行删除并在每一行后面增加一空行。这样在输出的文...
    stuha阅读 5,889评论 0 21
  • 转载 原文的排版和内容都更加友好,并且详细,我只是在这里贴出了一部分留作自己以后参考和学习,如希望更详细了解AWK...
    XKirk阅读 8,487评论 2 25
  • ls ls -l ls -la ls -li ls -hmkdir mkdir -P cat ca...
    Helen_Cat阅读 1,540评论 0 0
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,178评论 2 33
  • 刚过中秋迎十六, 十五月亮十六圆; 淅淅沥沥下小雨; 遮去皎洁明月光, 枝叶落地已有声; 悄然回头灯光亮, 大一教...
    陕州嘻嘻阅读 3,440评论 0 5