awk在由awk捕获的字段上
我找不到正确的方法来解析awk已经检索到的字段 使用awk收集第n个元素,如下所示:awk在由awk捕获的字段上,awk,Awk,我找不到正确的方法来解析awk已经检索到的字段 使用awk收集第n个元素,如下所示: bbr:(bw:492.2Mbps,mrtt:0.412,pacing_gain:1.25,cwnd_gain:2) 为了收集数据,我想再次解析第n个字段: $1 = 492.2; $2 = 0.41; $3 = 1.25; $4 = 2; 如果你有任何建议,你会很高兴听到的 G.在这种情况下,字符串存储到文件中,读取到$0,清理,拆分成散列a,并在循环中输出: $ awk '{gsub(/^.*\(|
bbr:(bw:492.2Mbps,mrtt:0.412,pacing_gain:1.25,cwnd_gain:2)
为了收集数据,我想再次解析第n个字段:
$1 = 492.2;
$2 = 0.41;
$3 = 1.25;
$4 = 2;
如果你有任何建议,你会很高兴听到的
G.在这种情况下,字符串存储到
文件中,读取到$0
,清理,拆分成散列a
,并在循环中输出:
$ awk '{gsub(/^.*\(|\)$/,"");n=split($0,a,/[:,]/);for(i=2;i<=n;i+=2)print a[i]}' file
492.2Mbps
0.412
1.25
2
$awk'{gsub(/^.*\(|\)$/,”);n=split($0,a,/[:,]/);for(i=2;iawk有split()
函数。查看手册页了解它的工作原理。请发布生成输出的awk
命令Hank you Kent,这就是我要找的函数。谢谢你,James,这是我需要的。关于该脚本,GNU awk没有任何特定内容。另外,你不需要,gsub()因为这是默认值。
gsub(/^.*\(|\)$/,"") # clean outside of parentheses, including them
n=split($0,a,/[:,]/) # split to a
for(i=2;i<=n;i+=2) # further process every other element in a
print a[i] # you could remove the Mbps and what not here