如何从iostat linux命令的输出中删除重复的标头

时间:2016-09-26 08:41:34

标签: iostat

我正在运行以下命令并获取以下输出,我将其保存到文件中。

sysstat/iostat -mdt sda1 1 >> /tmp/disk.out &

Outout正在关注

Linux 3.16.0-25-generic (bscpower8n2)   09/25/2016  _ppc64le_   (192 CPU)

09/25/2016 08:12:01 PM
Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda1              0.00         0.00         0.00          1          0

09/25/2016 08:12:02 PM
Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda1              0.00         0.00         0.00          0          0

09/25/2016 08:12:03 PM
Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda1              0.00         0.00         0.00          0          0

09/25/2016 08:12:04 PM
Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda1              0.00         0.00         0.00          0          0

09/25/2016 08:12:05 PM
Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda1              0.00         0.00         0.00          0          0

09/25/2016 08:12:06 PM
Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda1              0.00         0.00         0.00          0          0

但是我想在没有标题和日期时间的情况下将其保存在同一行中。谁能让我知道如何实现这一目标? 例如

09/25/2016 08:12:01 PM sda1 0.00 0.00 0.00 1 0
09/25/2016 08:12:02 PM sda1 0.00 0.00 0.00 0 0

1 个答案:

答案 0 :(得分:0)

我编写了以下脚本,虽然可能需要改进,但它确实有效。

#!/bin/bash
while true; 
do  
    iostat -mdt sda1 1 1 | sed -n -e '1d' -e '/^Device:/d' -e '/^$/d' -e 'p' |sed -e 'N;s/\n/ /'
    sleep 1
done;