输出sar命令结果到CSV文件(Output sar command results to a cs

2019-08-17 12:08发布

我是比较新的shell编程,想知道是否有一个简单的方法来输出结果sar命令到一个csv文件。 使用sar > file1.csv做的工作,但它的格式不正确。 所有的数据是存在于一列。 我想这一点,但它更糟糕

sar -d -u -w 1 1 | grep -v Average | grep -v Linux | tr -s ' ' ',' | tr -d '\n' > file1.csv

谁能给我合适的剧本到的输出存储sar命令在一个csv文件。 帮助将不胜感激。

Answer 1:

sar -d -u -w 1 1 | grep -v Average | grep -v Linux |awk '{if ($0 ~ /[0-9]/) { print $1","$2","$4","$5","$6; }  }'



22:14:04,CPU,%nice,%system,%iowait
22:14:05,all,0.00,8.53,0.00
22:14:04,proc/s,,,
22:14:05,0.00,,,
22:14:04,DEV,rd_sec/s,wr_sec/s,avgrq-sz
22:14:05,dev8-0,0.00,0.00,0.00

上述输出享受



Answer 2:

我知道这是一种旧的,但你应该,或者可以使用sadf -dh -- <sar command> 。 这是一部分的sysstat包,它会给你无需任何CSV输出awk和正则表达式。 事实上,最新版本也能输出信息,以JSON和XML。 你可以随便挑你的毒药:)

简单的例子:

[local@localhost dir]$ sadf -dh -- -p
localhost.localdomain;-1;2014-06-13 08:47:02 UTC;LINUX-RESTART
# hostname;interval;timestamp;CPU;%user;%nice;%system;%iowait;%steal;%idle[...]
localhost.localdomain;600;2014-06-13 09:00:01 UTC;-1;8.80;0.01;1.65;9.51;0.00;80.03
localhost.localdomain;600;2014-06-13 09:10:01 UTC;-1;3.03;0.71;2.41;0.81;0.00;93.05


文章来源: Output sar command results to a csv file
标签: shell unix sar