列 - テーブル - 極端値なし

列 - テーブル - 極端値なし

--table-noextremeオプションはどのようにcolumn機能しますか?

   -E, --table-noextreme columns
      Specify columns where is possible to ignore unusually long 
      (longer than average) cells when calculate column width. 
      The option has impact to the width calculation and table
      formatting, but the printed text is not affected.

$ cat table.md
Lorem ipsum | Lorem ipsum dolor sit amet | Lorem ipsum dolor sit amet | Lorem ipsum dolor sit amet
Lorem | Lorem ipsum | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut | Lorem ipsum dolor
Lorem | Lorem ipsum dolor | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do | Lorem
$ column -t -s '|' -o '|' < table.md
Lorem ipsum | Lorem ipsum dolor sit amet | Lorem ipsum dolor sit amet                                                                   | Lorem ipsum dolor sit amet
Lorem       | Lorem ipsum                | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut | Lorem ipsum dolor
Lorem       | Lorem ipsum dolor          | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do                              | Lorem
$ column -t -s '|' -o '|' --table-noextreme 3 < table.md
Lorem ipsum | Lorem ipsum dolor sit amet | Lorem ipsum dolor sit amet                                                                   | Lorem ipsum dolor sit amet
Lorem       | Lorem ipsum                | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut | Lorem ipsum dolor
Lorem       | Lorem ipsum dolor          | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do                              | Lorem

テーブルを次のようにフォーマットするにはどうすればよいですか?

Lorem ipsum | Lorem ipsum dolor sit amet | Lorem ipsum dolor sit amet | Lorem ipsum dolor sit amet
Lorem       | Lorem ipsum                | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut | Lorem ipsum dolor
Lorem       | Lorem ipsum dolor          | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do | Lorem

(util-linux 2.37.2 / archの列)

ベストアンサー1

サンプルデータにはトリガー効果はありません-E。おそらく、3番目の列の値が「異常に長い」と判断できないからです。

次の修正されたサンプルテキストを使用してください。

Lorem ipsum | Lorem ipsum dolor | Lorem | Lorem ipsum dolor sit
Lorem ipsum dolor | Lorem | Lorem ipsum dolor sit amet, consectetur | Lorem
Lorem | Lorem ipsum | Lorem | Lorem ipsum dolor sit

端子の幅が80列の場合、次の結果が得られます。

$ column -t -s \| -o \| file
Lorem ipsum       | Lorem ipsum dolor | Lorem                                   | Lorem ipsum dolor sit
Lorem ipsum dolor | Lorem             | Lorem ipsum dolor sit amet, consectetur | Lorem
Lorem             | Lorem ipsum       | Lorem

(行が複数行にまたがる)と

$ column -t -E 3 -s \| -o \| file
Lorem ipsum       | Lorem ipsum dolor | Lorem            | Lorem ipsum dolor sit
Lorem ipsum dolor | Lorem             | Lorem ipsum dolor sit amet, consectetur 
                  |                   |                  | Lorem
Lorem             | Lorem ipsum       | Lorem            | Lorem ipsum dolor sit

しかし、予想される結果を考慮すると、-l--table-columns-limit)オプションが欲しいようです。

$ column -t -l 3 -s \| -o \| file
Lorem ipsum       | Lorem ipsum dolor | Lorem | Lorem ipsum dolor sit
Lorem ipsum dolor | Lorem             | Lorem ipsum dolor sit amet, consectetur | Lorem
Lorem             | Lorem ipsum       | Lorem | Lorem ipsum dolor sit

おすすめ記事