gpt4 book ai didi

awk - 检查字段是否为awk中的整数

转载 作者:行者123 更新时间:2023-12-04 02:45:32 24 4
gpt4 key购买 nike

我正在使用以下脚本来查找 mongodb 服务器上正在运行的连接数。

mongostat | awk 'BEGIN{FS=" *"}{print "Number of connections: "$19}'

但是每 10 行,$19 带有一个字符串,表示字段名称。

我想修改我的脚本以仅在 $19 时才打印是一个整数。

我可以试试 FS = " *[^0-9]*" ,但它匹配以数字开头的列,而不是进行选择性打印。

最佳答案

使用

mongostat | awk -F ' *' '$19 ~ /^[0-9]+$/ { print "Number of connections: " $19 }'
$19 ~ /^[0-9]+$/检查是否 $19匹配正则表达式 ^[0-9]+$ (即,如果它只由数字组成),并且只有在这种情况下才会执行关联的操作。

顺便说一下,特殊字段分隔符可能是不必要的。 awk的默认字段分隔符是任何空格序列,所以除非 mongostat使用制表符和空格的奇怪组合,
mongostat | awk '$19 ~ /^[0-9]+$/ { print "Number of connections: " $19 }'

应该工作正常。

关于awk - 检查字段是否为awk中的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28878995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com