我有一个.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
答案 0 :(得分:1)
这可能对您有用:
$ grep -Po 'GN=\K[^[:space:]]+' file
PSMD1
TNS1
ILK
GPI
FBLN5
TPM1
CDH1
答案 1 :(得分:0)
您可以在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