我正在使用 FreeBSD(在 Citrix NetScaler 上)……我面临着从具有数千行数的日志中提取 Mbps 的挑战。
日志看起来像这样,其中带十进制的 Mbps 数字的范围可以从 0.0 到 9999.99 或更大。IE
#>alphatext_anylength... (more_alphatext_in brackets)... Mbps (1.0)… alphatext_anylength... (more_alphatext_in brackets)...
#>alphatext_anylength... (more_alphatext_in brackets)... Mbps (500.15)… alphatext_anylength... (more_alphatext_in brackets)...
#>alphatext_anylength... (more_alphatext_in brackets)... Mbps (1500.01)… alphatext_anylength... (more_alphatext_in brackets)...
现在的挑战是我想过滤掉所有带有小数的 Mbps 括号数字,即 A) 大于 500mbps,B) 行号。即,对于上面的示例输出,我只想看到以下内容:
#>[line number 20] 500.15
#>[line number 55] 1500.01
我试过了:
cat output.log | sed -n -e 's/^.*Mbps//p' |cut -c 3-10
在 Mbps 之后给了我 10 个字符。但这还不够聪明,不能仅显示大于 500Mbps 的带括号的十进制数字。
如果是一个挑战,我很感激这可能有点......但是会感谢任何可以创造魔法的 bash 脚本向导!
提前致谢!