Cómo asignar una variable dentro de una tubería

Cómo asignar una variable dentro de una tubería

Estoy construyendo una sola línea en bash.
Si crear un script o escribir archivos temporales fuera una opción, no necesitaría preguntar.

Necesito asignar una variable en medio de un conjunto de tuberías para usarla en el futuro.

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

Respuesta1

Sin tener en cuenta que a su awk le falta una llave y suponiendo que la lista contiene una sola línea, ¿por qué no?NAME=$( cat list | awk '{print $1".modifications_to_name"') && checkStatus | grep pertinentinfo | cleanupFormatOfPertinentInfo | sendAlert $NAME

Si desea recorrer una lista con varias líneas y hacer que el nombre evalúe algo diferente cada vez:

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

Esto parece unXYpregunta sin embargo.

información relacionada