필요한 부품만 구입하세요 [닫기]

필요한 부품만 구입하세요 [닫기]

다음과 같은 문자열이 있습니다.

**XX_EMAIL_FILES FCP_REQID=9614696 FCP_LOGIN="APPS/sup12" FCP_USERID=5667 FCP_USERNAME="SRI" FCP_PRINTER="noprint" FCP_SAVE_OUT=Y FCP_NUM_COPIES=1 "9614556_SUP12_XX_Workflow_Stuck_AP_Invoices.csv" "/tmp_mnt2/attachments" "[email protected]" "This is the subject for the mail" "PFA for the list of Invoices that are stuck in workflow."**

간단히 다음 문자열을 변수로 추출합니다.

이메일 제목입니다

이번에도 다음 문자열을 다른 변수로 추출하세요. PFA는 워크플로에 정체된 송장 목록을 표시하는 데 사용됩니다.

항상 같은 것은 아닙니다. 문자열은 사용자가 입력하는 내용에 따라 달라질 수 있습니다.

UNIX 명령을 사용하여 이러한 문자열만 얻는 방법을 이해하도록 도와줄 수 있는 사람이 있나요?

감사합니다, 보미님

답변1

필드 수와 순서 및 필드에 포함된 따옴표를 결정하면 다음을 cut -d\"사용하여 필수 필드를 얻을 수 있습니다.

echo 'XX_EMAIL_FILES FCP_REQID=9614696 FCP_LOGIN="APPS/sup12" FCP_USERID=5667 FCP_USERNAME="SRI" FCP_PRINTER="noprint" FCP_SAVE_OUT=Y FCP_NUM_COPIES=1 "9614556_SUP12_XX_Workflow_Stuck_AP_Invoices.csv" "/tmp_mnt2/attachments" "[email protected]" "This is the subject for the mail" "PFA for the list of Invoices that are stuck in workflow."' \
| cut -f14 -d\"
This is the subject for the mail

echo 'XX_EMAIL_FILES FCP_REQID=9614696 FCP_LOGIN="APPS/sup12" FCP_USERID=5667 FCP_USERNAME="SRI" FCP_PRINTER="noprint" FCP_SAVE_OUT=Y FCP_NUM_COPIES=1 "9614556_SUP12_XX_Workflow_Stuck_AP_Invoices.csv" "/tmp_mnt2/attachments" "[email protected]" "This is the subject for the mail" "PFA for the list of Invoices that are stuck in workflow."' \
| cut -f16 -d\"
PFA for the list of Invoices that are stuck in workflow.

awk또는 마지막 두 필드를 가져와야 하는 경우 다음을 사용하는 것이 더 나을 수 있습니다.

echo 'XX_EMAIL_FILES FCP_REQID=9614696 FCP_LOGIN="APPS/sup12" FCP_USERID=5667 FCP_USERNAME="SRI" FCP_PRINTER="noprint" FCP_SAVE_OUT=Y FCP_NUM_COPIES=1 "9614556_SUP12_XX_Workflow_Stuck_AP_Invoices.csv" "/tmp_mnt2/attachments" "[email protected]" "This is the subject for the mail" "PFA for the list of Invoices that are stuck in workflow."' \
| awk -F\" '{ print $(NF-3) }'
This is the subject for the mail

관련 정보