找到双引号值并使用awk打印它们

找到双引号值并使用awk打印它们,awk,Awk,我有一个1000行的文件 例如: chr1 Cufflinks transcript 34611 36081 1000 - . gene_id "FAM138A"; transcript_id "uc001aak.3"; FPKM "1.2028600217"; frac "1.000000"; conf_lo "0.735264"; conf_hi "1.670456"; cov "

我有一个1000行的文件

例如:

chr1        Cufflinks        transcript        34611        36081        1000        -        .        gene_id "FAM138A"; transcript_id "uc001aak.3"; FPKM "1.2028600217"; frac "1.000000"; conf_lo "0.735264"; conf_hi "1.670456"; cov "0.978610";
我想搜索文件并提取字符串
FPKM
后的值,如

"1.2028600217"

我是否可以使用
awk

如果您不关心
FPKM
显示在哪一列,您可以:

grep -Po '(?<=FPKM )"[^"]*"' file

grep-Po'(?您可以使用awk,但这是一个简单的单行替换,因此sed更适合:

$ cat file
chr1 Cufflinks transcript 34611 36081 1000 - . gene_id "FAM138A"; transcript_id "uc001aak.3"; FPKM "1.2028600217"; frac "1.000000"; conf_lo "0.735264"; conf_hi "1.670456"; cov "0.978610";
$ sed 's/.*FPKM *"\([^"]*\)".*/\1/' file
1.2028600217

它给了我整列而不是FPKM值,然后你复制/粘贴了错误的脚本,或者你的输入文件中有一些东西没有与我们共享。