我是linux命令的新手。
我正在尝试管理大型数据文件,我正在向您展示如下所示的一行。
6 129781361 TAR20 DB;DP=95;FS=0.321;GC=39.60;MQ=60.00;SOMATIC;VT=SNP
我想要提取的是“FS及其价值。
所以,我想在FS字段中包含一个值0.321。
当然,我可以使用R语言和其他编程语言提取这些值。
然而,这是非常费力的任务,因为我现在使用linux命令。
因此,我想学习如何提取FS字段及其价值。
你能告诉我如何以有效的方式从FS中提取0.321吗?
谢谢!
答案 0 :(得分:2)
您可以使用awk
:
awk -F '[ ;,]+' '{print $6}' file
FS=0.321
获得价值部分:
awk -F '[ ;,]+' 'split($6, a, "="){print a[2]}' file
0.321
或使用grep -oP
(gnu-grep):
grep -oP 'FS=\K[\d.]+' file
0.321
答案 1 :(得分:1)
例如,您可以使用:
127.0.0.1
这将提取" FS ="之间的所有内容。和下一个分号或行尾,以先到者为准。