Quando você usa várias substituições de processo, não é garantido que você obtenha a saída em uma ordem específica, então é melhor continuar com
paste -t',' <(commanda < file) <(commandb < file)
Supondo que cat myfile
represente algum canal caro, acho que você terá que armazenar a saída, seja em um arquivo ou em uma variável:
output=$( some expensive pipeline )
paste -t',' <(commanda <<< "$output") <(commandb <<< "$output")
Usando seu exemplo:
output=$( seq 4 )
paste -d' ' <(cat <<<"$output") <(tac <<<"$output") <(awk '$1*=2' <<<"$output")
1 4 2
2 3 4
3 2 6
4 1 8
Outro pensamento: FIFOs e um único pipeline
mkfifo resulta resultb
seq 4 | tee >(tac > resulta) >(awk '$1*=2' > resultb) | paste -d ' ' - resulta resultb
rm resulta resultb
1 4 2
2 3 4
3 2 6
4 1 8