0

キーと値のペアの形式でコマンド出力があります。

key1: value 1 key2: value 2 ...
key1: long value 1 key2: value 2 ...
key1: val 1 key2: value 2 ...

私が望むのは、「:」が整列するようにこの出力をきれいに印刷することです:

key1: value 1      key2: value 2 ...
key1: long value 1 key2: value 2 ...
key1: val 1        key2: value 2 ...

ありがとう

4

1 に答える 1

0

キーの間違った配置を許容できる限り、次の非常に単純な解決策が機能します。

cat input | column -t -s ":"

ところで、列にパイプする前にキーを抽出すると、出力の見栄えが良くなります。

awk、perl、またはpythonを使用するとより良い結果が得られますが、これはもちろんbashで実行可能ですが、スクリプトは大きくなります(開始しましたが、まだ終了していません)。背後にある考え方は単純です。2 つのパスを使用します。最初のパスは各キーの最大オフセットを計算して配列に格納し、オフセットに基づく 2 番目のパスは正確な数のスペースを挿入します。

于 2012-08-15T14:29:40.003 に答える