파이프 내에서 변수를 할당하는 방법

파이프 내에서 변수를 할당하는 방법

나는 bash에서 하나의 라이너를 만들고 있습니다.
스크립트를 작성하거나 임시 파일을 작성하는 것이 선택 사항이었다면 물어볼 필요가 없었을 것입니다.

계속해서 사용할 파이프 세트 중간에 변수를 할당해야 합니다.

    cat list | awk '{print $1".modifications_to_name"' | (capture $NAME and pass $NAME down pipe) \
    | checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME

답변1

awk에 중괄호가 없다는 점을 무시하고 목록에 한 줄이 포함되어 있다고 가정하면 다음과 같습니다.NAME=$( cat list | awk '{print $1".modifications_to_name"') && checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME

여러 줄이 포함된 목록을 반복하고 이름이 매번 다른 것으로 평가되도록 하려면 다음을 수행하세요.

while read NAME; do checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME ; done < <(cat list | awk '{print $1".modifications_to_name"')

이것은 다음과 같습니다.XY그래도 질문.

관련 정보