Como atribuir uma variável dentro de um pipe

2

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

Eu preciso atribuir uma variável no meio de um conjunto de canais para usar na linha.

    cat list | awk '{print $1".modifications_to_name"' | (capture $NAME and pass $NAME down pipe) \
    | checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME
    
por Storm Knight 12.02.2016 / 19:35

1 resposta

1

Desconsiderando que seu awk está faltando uma chave, e supondo que a lista contenha uma única linha, por que não: NAME=$( cat list | awk '{print $1".modifications_to_name"') && checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME

Se você deseja iterar por meio de uma lista com várias linhas e fazer com que o nome avalie para algo diferente a cada vez:

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

Isso parece uma pergunta X Y .

    
por 12.02.2016 / 20:03