Como atribuir uma variável dentro de um pipe

Como atribuir uma variável dentro de um pipe

Estou construindo um forro no bash.
Se criar um script ou escrever arquivos temporários fosse uma opção, não precisaria perguntar.

Preciso atribuir uma variável no meio de um conjunto de tubos para usar no futuro.

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

Responder1

Desconsiderando que falta uma chave no seu awk e assumindo que list contém uma única linha, por que não:NAME=$( cat list | awk '{print $1".modifications_to_name"') && checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME

Se você quiser percorrer uma lista com múltiplas linhas e fazer com que o nome seja avaliado como algo diferente a cada vez:

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

Isto parece umXYpergunta embora.

informação relacionada