找到双引号值并使用awk打印它们
我有一个1000行的文件 例如:找到双引号值并使用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 "
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值,然后你复制/粘贴了错误的脚本,或者你的输入文件中有一些东西没有与我们共享。