grep in file并替换字符串

时间:2015-09-22 18:39:39

标签: linux bash grep

我在一行中有一个关于我的磁盘的iostat信息的文件,但是时间停留在上面一行。当我使用grep时,我可以收集这两行。但我想在磁盘信息的同一行中放置或替换时间。

grep -E "sda|22-09" iostat.dat
22-09-2015 15:36:10
sda               0,00     0,00    0,00    0,00     0,00     0,00     0,00     0,00    0,00    0,00    0,00   0,00   0,00
22-09-2015 15:36:12
sda               0,00     2,00    0,50   17,00     0,00     0,07     8,91     0,13    7,20    0,00    7,41   5,94  10,40
22-09-2015 15:36:14
sda               0,00    10,50    0,00    3,00     0,00     0,06    38,67     0,07   24,00    0,00   24,00  24,00   7,20
22-09-2015 15:36:16
sda               0,00     5,00    0,00    5,50     0,00     0,03    12,36     0,10   18,55    0,00   18,55  18,55  10,20

2 个答案:

答案 0 :(得分:2)

要加入连续的行,请使用paste

grep -E "sda|22-09" iostat.dat | paste - -

答案 1 :(得分:1)

使用GNU sed附加:

| sed 'N;s/\n/ /' 

输出:

22-09-2015 15:36:10 sda               0,00     0,00    0,00    0,00     0,00     0,00     0,00     0,00    0,00    0,00    0,00   0,00   0,00
22-09-2015 15:36:12 sda               0,00     2,00    0,50   17,00     0,00     0,07     8,91     0,13    7,20    0,00    7,41   5,94  10,40
22-09-2015 15:36:14 sda               0,00    10,50    0,00    3,00     0,00     0,06    38,67     0,07   24,00    0,00   24,00  24,00   7,20
22-09-2015 15:36:16 sda               0,00     5,00    0,00    5,50     0,00     0,03    12,36     0,10   18,55    0,00   18,55  18,55  10,20