修改命令的输出以作为变量输入到另一个命令

修改命令的输出以作为变量输入到另一个命令

我正在尝试修改命令的输出,将其存储到变量并将其传递给单行中的另一个命令。我尝试使用 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:]]*,//')

您的新命令应该按预期工作。

相关内容