シェルスクリプト出力をテーブルとしてフォーマットする

シェルスクリプト出力をテーブルとしてフォーマットする

私はいくつかのロジックに基づいていくつかのデータを生成し、いくつかの組み合わせで出力を表示するループでスクリプトを実行していますが、私が得た出力は新しい行にあります。

Roll number               : 187437366 
Mobile Number             : 07995036927
Grade                     : A
Roll number               : 187437367 
Mobile Number             : 07995036937
Grade                     : B

しかし、以下のように表形式で出力したいと思います。

Roll Number | Mobile Number | Grade
187437366   | 07995036927   | A
187437466   | 07995037922   | A2
187437266   | 07995036921   | B
187437766   | 07995036120   | C

これを達成する方法の概念が見つかりません。誰でも私を助けることができますか?

ベストアンサー1

awkもちろん、ツールボックスにこのツールだけがあるわけではありません。必然的に注ぐスクリプトのバランスをとるためにawkここにあります。ミラー実行中:

%mlr --ixtab --ips: --opprint 猫 << END
ロール番号:187437366
携帯電話番号:07995036927
A級

ロール番号:187437367
携帯電話番号:07995036937
グレード:B

終わり
ロール番号携帯電話番号レベル
 187437366 07995036927A
 187437367 07995036937B
%

スクリプトが各レコードの後に​​空白行をエクスポートするようにするか、またはそれを実行するために中間フィルタを追加する場合は、「XTAB」入力形式と:「ペアセパレータ」文字のみを使用できます(--ixtabおよび--ipsオプションを参照)。

上記は「PPRINT」出力形式です。より多くの質問などの出力には、--barred「PPRINT」と「Markdown」の代替出力形式を選択できます--omd。しかし、私は最新バージョンのMillerをデモ用にすぐに提供していません。

おすすめ記事