Como posso reunir a saída de um loop while em um único pipe?

5

Eu tenho um script composto por um loop while com um eco:

while my_condition
do
echo [my_output]
done

Como posso reunir a saída em um único pipe?

Eu precisaria usar column após o canal de saída '

    
por user123456 04.10.2016 / 10:36

1 resposta

12

Não há necessidade de "transformar" nada, basta colocar o pipe após o loop:

while my_condition
do
    echo [my_output]
done | column

Por exemplo:

$ while read num; do 
    echo "$num" 
  done < <(seq 1 100) | column
1   11  21  31  41  51  61  71  81  91
2   12  22  32  42  52  62  72  82  92
3   13  23  33  43  53  63  73  83  93
4   14  24  34  44  54  64  74  84  94
5   15  25  35  45  55  65  75  85  95
6   16  26  36  46  56  66  76  86  96
7   17  27  37  47  57  67  77  87  97
8   18  28  38  48  58  68  78  88  98
9   19  29  39  49  59  69  79  89  99
10  20  30  40  50  60  70  80  90  100
    
por terdon 04.10.2016 / 10:43

Tags