foo
短い出力行をたくさん提供するbashスクリプトがあります。考えるls -1
。より簡潔なプレゼンテーションを得るために、出力を複数の列(たとえば)に分散したいと思いますls -C
。
私はこの構造を知っています。
foo | paste - - - | column -t -s $'\t'
固定数の列(この場合は3つ)を提供します。どうやってできるか動的に常に最大列数を使用するように、列数を出力幅と端末幅に調整しますか?
答え1
解決策は実際にはとても簡単です。
foo | column
column
パラメータなしで問題を解決します。私はcolumn
以前に積極的に使ったことがないようです-t
。この主張を無視するよう提案したSteeldriverに感謝します。
答え2
別のオプション:80列以外のものを使用するようにecho $(foo) | fold
指定できます。-w WIDTH