我失去了对这个人的爱好。
我正在尝试输出当前深度和最大深度的本地队列列表。以下命令基本上完成了这项工作:
display qlocal(*) curdepth maxdepth
但是,我得到了所有的SYSTEM。*队列,我不希望它们在列表中。从理论上讲,我可以使用where()过滤器来做到这一点,但似乎这个最有用的功能是不可能的,因为......
display qlocal(*) where(???? nl 'SYSTEM*') curdepth maxdepth
...我该怎么做?我尝试了各种各样的,包括看似明显的'队列',但没有任何作用。我是否坚持单独处理输出(由于其可怕的格式化而在最好的时候做家务)以摆脱这些?
答案 0 :(得分:1)
以下命令可能会有所帮助。由于您无法使用“ where”参数中的队列名称进行过滤,因此最好的解决方案是解析输出。下面的命令基本上将mqsc对象的输出格式化为单行,而egrep删除以SYSTEM开头的所有内容。
echo "dis ql(*) curdepth maxdepth" | runmqsc QMNAME | sed 's/^[^ ].*$/%/g' | tr -s " " | tr -d "\n" | tr "%" "\n" | egrep -v "^ QUEUE\(SYSTEM"