私たちのシステムでいくつかのレポートを生成するために月に一度実行される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,