다른 명령에 변수로 제공되도록 명령의 출력을 수정합니다.

다른 명령에 변수로 제공되도록 명령의 출력을 수정합니다.

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

새 명령이 예상대로 작동해야 합니다.

관련 정보