繁体   English   中英

如何从文本中提取特定的字符串

[英]how can I extract specific string from text

我有一个.txt文件,

26S proteasome non-ATPase regulatory subunit 1 OS=Homo sapiens OX=9606 GN=PSMD1 PE=1 SV=1
Tensin-1 OS=Homo sapiens OX=9606 GN=TNS1 PE=1 SV=1
Integrin-linked protein kinase OS=Homo sapiens OX=9606 GN=ILK PE=1 SV=1
Glucose-6-phosphate isomerase (Fragment) OS=Homo sapiens OX=9606 GN=GPI PE=1 SV=1
Fibulin-5 OS=Homo sapiens OX=9606 GN=FBLN5 PE=1 SV=1
Tropomyosin alpha-1 chain (Fragment) OS=Homo sapiens OX=9606 GN=TPM1 PE=1 SV=1
Cadherin-1 OS=Homo sapiens OX=9606 GN=CDH1 PE=1 SV=1

我只想在GN=之后提取字符串

我想要这样的输出

PSMD1
TNS1
ILK
GPI
FBLN5
TPM1
CDH1

这可能对您有用:

$ grep -Po 'GN=\K[^[:space:]]+' file
PSMD1
TNS1
ILK
GPI
FBLN5
TPM1
CDH1

您可以在OSX上使用以下awk

awk -F ' GN=' '{sub(/[[:blank:]].*$/, "", $2); print $2}' file

PSMD1
TNS1
ILK
GPI
FBLN5
TPM1
CDH1

awk命令使用GN=作为字段分隔符。 $2在此标记和sub删除$2以空格开头的文本后,将其用作值。

这个sed也应该起作用:

sed -E 's/.* GN=([^[:blank:]]+).*/\1/' file

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM