如何在单个管道中收集 while 循环的输出?

如何在单个管道中收集 while 循环的输出?

我有一个由带有 echo 的 while 循环组成的脚本:

while my_condition
do
echo [my_output]
done

如何在单个管道中收集输出?

我需要column在输出管道后使用'

答案1

无需“转换”任何东西,只需将管道放在循环之后:

while my_condition
do
    echo [my_output]
done | column

例如:

$ 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

相关内容