コマンドの出力を変更し、それを変数に保存してから、1行で別のコマンドに渡したいと思います。 xargsを使ってみましたが、うまくいきませんでした。
最初のコマンドは次のとおりです。
echo "DIS NAMELIST(CLUSNL.TO.QMWC.SSL) NAMES"|runmqsc -w 10 -x QMWC |grep NAMES |grep -v DIS
出力は次のとおりです
NAMES(CLDEV.ISCC.74 ,CLPRF.ISCC.74 ,CLSYS.ISCC.74)
修正された出力はCLDEV.ISCC.74を削除し、修正された出力を変数に保存することです。
NAMES(CLPRF.ISCC.74 ,CLSYS.ISCC.74)
新しいコマンドが発行されます。
echo "ALTER NAMELIST(CLUSNL.TO.QMWC.SSL) $VARIABLE"|runmqsc -w 10 -x QMWC |grep NAMES |grep -v DIS
これが目的の出力を取得する方法ですが、それを変数に保存して新しいコマンドに渡す方法を見つけようとしています。
`echo "DIS NAMELIST(CLUSNL.TO.QMWC.SSL) NAMES"|runmqsc -w 10 -x QMWC |grep NAMES |grep -v DIS|sed 's/CLDEV.ISCC.74` ,//'
答え1
結果をCLDEV.ISCC.74...,
変数に保存するには、VARIABLE
次のようにします。
VARIABLE=$(echo "DIS NAMELIST(CLUSNL.TO.QMWC.SSL) NAMES"|runmqsc -w 10 -x QMWC |grep NAMES |grep -v DIS | sed 's/CLDEV\.ISCC\.74[[:space:]]*,//')
新しいコマンドは期待どおりに機能するはずです。