我正在尝试修改命令的输出,将其存储到变量并将其传递给单行中的另一个命令。我尝试使用 xargs,但效果不佳。
hre 是第一个命令
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:]]*,//')
您的新命令应该按预期工作。