linux 中 sed命令实现仅保留匹配字段的内容

 

001、

[root@PC1 test4]# ls
a.txt
[root@PC1 test4]# cat a.txt           ## 测试数据
gbkey=mRNA;gene=ATP5O;model;evidence;Supporting
[root@PC1 test4]# sed 's/\(.*\)\(gene=[^;]\+\)\(.*\)/\2/' a.txt  ## 利用正则和预存储实现
gene=ATP5O

 

 

002、

复制代码
[root@PC1 test4]# ls
a.txt
[root@PC1 test4]# cat a.txt        ## 测试数据
ID=gene-LOC104645797;Dbxref=GeneID:104645797;Name=LOC104645797;gbkey=Gene;gene=LOC104645797;gene_biotype=lncRNA
ID=gene-GAD3;Dbxref=GeneID:100147723;Name=GAD3;description=glutamate decarboxylase isoform3;gbkey=Gene;gene=GAD3;gene_biotype=protein_coding;gene_synonym=LeGAD3,SlGAD3
ID=gene-LOC101263636;Dbxref=GeneID:101263636;Name=LOC101263636;gbkey=Gene;gene=LOC101263636;gene_biotype=protein_coding
ID=gene-sos1;Dbxref=GeneID:778208;Name=sos1;description=plasmalemma Na+/H+ antiporter;gbkey=Gene;gene=sos1;gene_biotype=protein_coding;gene_synonym=SlSOS1
ID=gene-LOC101263144;Dbxref=GeneID:101263144;Name=LOC101263144;gbkey=Gene;gene=LOC101263144;gene_biotype=protein_coding
ID=gene-LOC101247456;Dbxref=GeneID:101247456;Name=LOC101247456;gbkey=Gene;gene=LOC101247456;gene_biotype=protein_coding
[root@PC1 test4]# sed 's/\(.*\)\(gene=[^;]\+\)\(.*\)/\2/' a.txt   ## 提取命令
gene=LOC104645797
gene=GAD3
gene=LOC101263636
gene=sos1
gene=LOC101263144
gene=LOC101247456
复制代码

 

posted @   小鲨鱼2018  阅读(532)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-05-16 linux 中正则表达式同时匹配字母和数字
2022-05-16 正则表达式中常见特殊字符的意义
2022-05-16 正则表达式中 + 的作用
2022-05-16 正则表达式中?和*的区别
2022-05-16 正则表达式中.* 和 .*?的区别
2022-05-16 正则表达式中.和*的区别
2022-05-16 linux 中 sed预存储命令
点击右上角即可分享
微信分享提示