История изменений
Исправление
takino,
(текущая версия)
:
| head -2 | tail -1 #второй Mb/sec
http://facepalm.jpg.to
У меня почему-то всегда припекает от этого вашего head | tail. Не учите, пожалуйста, людей плохому, head+tail читают ВЕСЬ файл и жиденько заваливают продакшен, когда кто-нибудь так на логах делает, например.
Тоже самое с помощью sed:
sed -n '/Mb\/sec/s/.*>\([0-9\.]*\)<.*/\1/;2{p;q}' *xml
Что здесь происходит:
Находим строчку Mb/sec (/ экранируется, т.к используется и как разделитель команд sed);
на ней производим замену жадным регулярным выражением (s - команда подстановки, substitute;/ - начало рег. выражения), в котором берем
.*> (начало строки до того, что нам надо)
\([0-9\.]*\) - любое количество символов от 0 до 9 или точка
Они взяты в экранированные скобки, чтобы поместить их в поле \1. Поле уникально для каждой строки.
<.* - остаток строки
/ - окончание регулярного выражения
Заменяем всю такую строку на поле номер 1
/ - окончание команды ; - разделитель команд
2{p;q} - печатаем второе совпадение и сразу выходим; напечатать все совпадения - просто p. Дальше в документашку и пользуйтесь на здоровье.
Исправление
takino,
:
| head -2 | tail -1 #второй Mb/sec
http://facepalm.jpg.to
У меня почему-то всегда припекает от этого вашего head | tail. Не учите, пожалуйста, людей плохому, head+tail читают ВЕСЬ файл и жиденько заваливают продакшен, когда кто-нибудь так на логах делает, например.
Тоже самое с помощью sed:
sed -n '/Mb\/sec/s/.*>\([0-9\.]*\)<.*/\1/;2{p;q}' *xml
Что здесь происходит:
Находим строчку Mb/sec (/ экранируется, т.к используется и как разделитель команд sed);
на ней производим замену жадным регулярным выражением (s - команда подстановки, substitute;/ - начало рег. выражения), в котором берем
.*> (начало строки до того, что нам надо)
\([0-9\.]*\) - любое количество символов от 0 до 9 или точка
Они взяты в экранированные скобки, чтобы поместить их в поле \1. Поле уникально для каждой строки.
<.* - остаток строки
/ - окончание регулярного выражения
Заменяем всю такую строку на поле номер 1
/ - окончание команды ; - разделитель команд
2{p;q} - печатаем второе совпадение и сразу выходим;
напечатать все совпадения - просто p.
Дальше в документашку и пользуйтесь на здоровье.
Исходная версия
takino,
:
| head -2 | tail -1 #второй Mb/sec
http://facepalm.jpg.to
У меня почему-то всегда припекает от этого вашего head | tail. Не учите, пожалуйста, людей плохому, head+tail читают ВЕСЬ файл и жиденько заваливают продакшен, когда кто-нибудь так на логах делает, например.
Тоже самое с помощью sed:
sed -n '/Mb\/sec/s/.*>\([0-9\.]*\)<.*/\1/;2{p;q}' *xml
Что здесь происходит:
Находим строчку Mb/sec (/ экранируется, т.к используется и как разделитель команд sed);
на ней производим замену жадным регулярным выражением (s - команда подстановки, substitute;/ - начало рег. выражения), в котором берем
.*> (начало строки до того, что нам надо)
\([0-9\.]*\) - любое количество символов от 0 до 9 или точка
Они взяты в экранированные скобки, чтобы поместить их в поле \1. Поле уникально для каждой строки.
<.* - остаток строки
/ - окончание регулярного выражения
Заменяем всю такую строку на поле номер 1
/ - окончание команды ; - разделитель команд
2{p;q} - печатаем второе совпадение и сразу выходим