2014-12-25 2 views
0

У меня есть этот текстовый файл (wget.log):СЭД не заменит текст

1400K .......... .......... .......... .......... .......... 5% 78.5K 4m10s 
    1450K .......... .......... .......... .......... .......... 5% 46.6K 4m19s 
    1500K .......... .......... .......... .......... .......... 5% 105K 4m17s 
    1550K .......... .......... .......... .......... .......... 6% 63.0K 4m21s 
    1600K .......... 

Поскольку я просто хочу, чтобы заменить .......... в последних 3-х строк. Я пробовал эту команду:

tail -n 3 /www/wget.log | sed 's/. /=>/g' 

но ничего не заменит. Я хочу, чтобы результат был таким:

1500K => 5% 105K 4m17s 
1550K => 5% 105K 4m17s 
1600K => 

Как это сделать?

ответ

1

Вы можете попробовать ниже патч в следующей команде.

$ tail -n 3 /www/wget.log | sed 's/ \..*\.\(\|$\)/ => /g' 
    1500K => 5% 105K 4m17s 
    1550K => 6% 63.0K 4m21s 
    1600K => 
2

Вы можете использовать:

tail -n 3 /www/wget.log | sed -r 's/(\.+ *)+/=> /' 
1500K => 5% 105K 4m17s 
1550K => 6% 63=> 0K 4m21s 
1600K => 

Об использовании OSX:

tail -n 3 /www/wget.log | sed -E 's/(\.+ *)+/=> /' 
Смежные вопросы