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

日拱一卒 | 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

使用\|表示或的关系。

http://www.xdnf.cn/news/13104.html

相关文章:

  • 从0到1构建我的AI星逻系统: LLM智能控制 + Streamlit前端实战
  • 达梦数据库EXISTS子查询实战指南
  • 鸿蒙图片缓存(二)
  • Day09_刷题niuke20250609
  • riscv操作系统记录(一)
  • 缓存一致性性的 实现等价
  • Element Plus 表单(el-form)中关于正整数输入的校验规则
  • DeepSeek辅助实现的DuckDB copy to自定义函数
  • SHW汽车SAP系统拆分实战:24小时停机完成重组 | SNP全球案例
  • Brup Suite 2025.5简单暴力猜解攻击手记
  • 安装便捷、维护省心,强力巨彩租赁屏助力视觉体验升级
  • Win系统权限提升篇计算机用户进程注入令牌窃取服务启动远程管理
  • 基于51单片机的篮球计分器
  • C++ 时间处理指南:深入剖析<ctime>库
  • 医疗器械研发、质量与注册:全流程指南(简)
  • nnUNet V2代码——图像增强(四)
  • Android Jetpack Compose开发纯自定义表盘【可用于体重,温度计等项目】
  • 十一(3) 类,加深对拷贝构造函数的理解
  • 突然无法调用scikit-learn、xgboost
  • 创客匠人:以AI赋能创始人IP打造,开启知识变现新范式
  • 【CANN全新升级】CANN创新MLAPO算子,DeepSeek模型推理效率倍增
  • 力扣160.相交链表
  • ms12-020漏洞复现
  • TJCTF 2025
  • 问题复盘-当前日志组损坏问题
  • 运算符之赋值运算符+运算符之比较运算符
  • ETLCloud可能遇到的问题有哪些?常见坑位解析
  • c# Autorest解析
  • 【AI学习】三、AI算法中的向量
  • 【java】【服务器】线程上下文丢失 是指什么