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