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

时间:2013-04-01 19:23:40

标签: 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 "0.978610";

我想搜索文件并在字符串FPKM之后提取值,例如

"1.2028600217"

我可以使用awk吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

你可以使用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