考虑通过管道连接到awk
的流。线条由交错的字段名和字段值序列,如下面的例子(行真的是更长的时间并列出许多其他属性):在435如何通过名称从“名称值名称值...”中提取值 - 类似输入行
样品2978闵-0.068689在1389阿明1.0406e-08最大0.0514581 1375个
样品2977闵-0.100258在1293阿明-1.06743e-08在3最大0.0989735在1282个
样品2977闵-0.109783在1281阿明-2.97293e-08在10最大0.139651在1268个
样品2976分-0.116509 at 1269 Amin -1.04306e-09 at 161最大0.0985577 at 1255
我想从字符串中提取某个值作为参考,例如,Min
。如果我在awk
中有类似scanf
的功能,我首先使用ind=index($0, "Min")
,然后s=substr($0, ind)
,然后sscanf(s,"Min %f", &val)
获得val
。但是,我没有任何可用的awk中的scanf
。
如何通过名称提取值呢?
运行由于值紧跟名字,它可能会更容易找到''从字符串name',削减的第一次相遇$ 0'并分配回'$ 0'。这样,所需的价值总是在$ 2。 – mbaitoff 2011-03-29 05:22:40