テーブルへのLinux出力

テーブルへのLinux出力

私たちのシステムでいくつかのレポートを生成するために月に一度実行されるcronjobがあります。ただし、現在の出力は次のとおりです。

Uptime
100
45
50
Average CPU
2.36
15.6
70.8

表形式のCSVファイルで出力を生成するにはどうすればよいですか?

Uptime        Average CPU
100            2.36
45            15.6
50            70.8

答え1

次のコマンドを使用します。

pr -2 l.txt  | sed '/^$/d' | sed -r "s/\s+/ /g" |sed '1d' 

l.txtには、投稿で述べたテキストが含まれています。出力:

$ pr -2 l.txt  | sed '/^$/d' | sed -r "s/\s+/ /g" |sed '1d'
Uptime                  Average CPU
100                 2.36
45                  15.6
50                  70.8

答え2

使用rs(形状の変更)コマンド:与えられた

$ cat output 
Uptime
100
45
50
Average CPU
2.36
15.6
70.8

それから

$ rs -et 0 2 < output 
Uptime       Average CPU
100          2.36
45           15.6
50           70.8

次のコマンドを使用して出力-C区切り文字を変更できます。

$ rs -et -C, 0 2 < output 
Uptime,Average CPU,
100,2.36,
45,15.6,
50,70.8,

関連情報