[英]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.