Вывод информации в консоль
Как вывести результат команды ping ya.ru в консоль, отображая только последние пять символов каждой строки?
Ответы (2 шт):
ping ya.ru | grep -o '.\{7\}$'
Напечатает:
61.1 ms
47.8 ms
52.9 ms
=127 ms
5.10 ms
54.8 ms
=141 ms
91.9 ms
61.1 ms
=330 ms
=167 ms
=256 ms
59.2 ms
=166 ms
А если Вам необходимо получить более корректные данные,то можно использовать команду:
ping ya.ru | cut -d "=" -f4-
которая совершенно точно напечает будь то 5, 6, или 7 символов, которые идут после третьего знака "=" в каждой строке:
58.9 ms
56.7 ms
315 ms
274 ms
235 ms
последние n символов можно извлечь из строки, содержащейся в переменной, с помощью оператора:
${переменная: -n}
или:
${переменная:(-n)}
а для того, чтобы обработать поток строк, можно воспользоваться, например, оператором цикла while.
пример:
$ ping -c 1 ya.ru | while read line; do echo ${line: -5}; done
data.
.3 ms
s ---
e 0ms
00 ms
доп. чтение: