我有一个命令
pr -m <(echo -n "dis q(*) where (IPPROCS gt 1)" |
runmqsc UFISMQ |grep QUEUE |
awk '{print $1}' |
cut -c6-100) <(echo -ne "dis q(*) where (IPPROCS gt 1)" |
runmqsc UFISMQ |grep IPPROCS |
cut -c11-15 |sed "1 d") |
awk 'NR>=6&&NR<=13' |
该命令帮助我找到连接到 MQ 队列的应用程序数量。输出是这样的
(SYSTEM.BROKER.CONTROL.QUEUE) (3)
(TO_UFIS) (18)
(UFIS_ATC_IN) (2)
(UFIS_BELT_IN) (2)
(UFIS_COUNTER_IN) (2)
(UFIS_FLIGHT_IN) (2)
(UFIS_OTHERS_IN) (2)
(UFIS_TRIGGER_IN) (2)
问题
现在我想对输出进行排序,并仅当其中一个值是 时才触发邮件警报(0)
。这意味着没有应用程序连接到 MQ。
如何对上述输出进行排序以找到(0)
价值?
答案1
您可以使用grep
(0) 值来触发邮件并使用该命令sort
对特定列输出上的输出进行排序。
例如:
df -h | sort -nk5
将对键 5(即 )进行“数字”(非字典顺序)排序Use%
。