コマンドがあります。
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)
質問
これで、出力をソートし、値の1つがある場合にのみメール通知をトリガーしたいと思います(0)
。これは、MQに接続されたアプリケーションがないことを意味します。
上記の出力をソートして(0)
値を見つけるにはどうすればよいですか?
答え1
(0)値を使用grep
してメールをトリガーし、このコマンドを使用してsort
出力の特定の列の出力を並べ替えることができます。
たとえば、
df -h | sort -nk5
キー5(例:)に対して「数字」(非辞書)ソートを実行しますUse%
。