当前位置: 首页 > news >正文

日拱一卒 | awk的基本操作

现在开一个新的专题,每天花半个小时的时间整理今天所学的内容,虽然这样的实践会有些琐碎,但是希望通过这种方式,来巩固每天所学的知识,并告诉自己每天是有积累的。

1.需求:提取列数小于4的行。

awk 'NF<4' homo.sapiens.TE.clade.filteredv3.txt >homo.sapiens.TE.clade.filteredv4.txt

NF表示当前行的字段数量(列数)。

2. 需求:提取染色体名为chr1-22,chrX和chrY的行。

grep -E '^chr([1-9]|1[0-9]|2[0-2]|X|Y)[[:space:]]' "/home/xxzhang/Resource/Reference/GTF/TE_gtf/Re_DNA0.8_Ins.overlap.2.results" >Re_DNA0.8_Ins.overlap.2.chr1-Y.results

grep -E其中,-E的作用是使用正则表达式。
^chr表示的是以chr字符开头的行。
()的内容就是我们要匹配的内容。
[1-9]表示的是染色体chr1-9,1[0-9]表示的是染色体chr10-19,2[0-2]表示的是染色体chr20-22;X表示的是chrX,Y表示的是chrY。
中间的|,表示的是或的关系。
[[:space:]]表示的是空白字符,也即后面结尾是空白字符。

3. 需求:筛选出包含多个字符(彼此是或的关系)的行。

cat "/home/xxzhang/Resource/Reference/GTF/TE_gtf/hg38_rmsk_TE_20200804.gtf" |grep "class_id \"LINE\"\|class_id \"SINE\"\|class_id \"DNA\"\|class_id \"LTR\"\|class_id \"Retroposon\"" >hg38_rmsk_TE_20200804.SINE.LINE.Retroposon.LTR.DNA.gtf

这里我学到的是,要用\"来表示引号,以及用\|来表示或的关系。

如果特意的要求某一列等于什么字符,需要将$2重复写多遍,且需要将或写成||

 cat homo.sapiens.TE.filteredv2.txt |awk '$2=="SINE"||$2=="LINE"||$2=="DNA"||$2=="LTR"||$2=="Retroposon"' >homo.sapiens.TE.filteredv3.txt

4.需求:用sed将多个字符替换成空。

 cat "/home/xxzhang/workplace/software/FamDB-2.0.2/homo.sapiens.TE.clades.txt" |sed 's/_5end\|_3end\|_orf2//g' |sort |uniq >homo.sapiens.TE.filteredv1.txt

使用\|表示或的关系。

相关文章:

  • TestCafe API
  • 火山引擎云服务器使用感怎么样
  • CSS | transition 和 transform的用处和区别
  • VS创建Qt项目,Qt的关键字显示红色波浪线解决方法
  • 高分辨率图像合成归一化流扩展
  • 倒装芯片凸点成型工艺
  • 6.9 Mysql面试题 索引相关
  • 树莓派超全系列教程文档--(59)树莓派摄像头rpicam-apps
  • break 语句和 continue 语句
  • 【知识点】第8章:程序设计方法论
  • 曼昆《经济学原理》第九版 第十一章公共物品与公共资源
  • JS手写代码篇----使用Promise封装AJAX请求
  • AI 智能体专栏简介
  • 足球判罚的AI解法:多阶段标定流程+57几何关键点,助力公平判罚
  • 群晖NAS 系统是否支持快照?是否可以进行异地容灾?
  • 门静脉高压——病因
  • Linux 下部署安装docker
  • Python进程详解
  • Nginx server_name 配置说明
  • Device Mapper 机制
  • 建设银行儿童网站/青岛seo结算
  • 虚拟主机网站建设/东莞网络推广营销公司
  • 网站建设在哪个软件下做/网络推广是网络营销的基础
  • 怎样建立个人网站?/手机自动排名次的软件
  • 合伙企业怎么注册公司/吉林seo刷关键词排名优化
  • 凡科建站电话/百度贴吧怎么做推广