명령의 출력을 수정하고 이를 변수에 저장한 다음 한 줄로 다른 명령에 전달하려고 합니다. 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:]]*,//')
새 명령이 예상대로 작동해야 합니다.