Как разобрать вывод команды смотреть на последние 5 цифр?

Из команды

смотреть -n1 "ifconfig eth0 | grep GiB". У меня есть вывод, приведенный ниже,

Теперь я просто хочу последние 5 цифр перед (ГиБ). Я написал для него регулярное выражение, и, кажется, работает

(\ d {1,4}) (?!. * \ D) \ sGiB

< / blockquote>

Единственная проблема в том, что я не могу использовать ее с командой, показанной выше? Я использую Ubuntu любую помощь

enter image description here

1
задан 21 May 2013 в 18:34

1 ответ

Вы не разбираете команду watch, вы разбираете любую запущенную команду watch. Я расширил ваш поиск, чтобы найти более широкий диапазон возможных выходных данных ifconfig:

$ ifconfig eth0 | grep -Eo '[0-9\.]+ [PTGMK]i?B'
164.8 GB
142.6 GB

Это стало возможным благодаря аргументу grep -E, который допускает более широкий синтаксис, и -o, который выводит только совпадающие строки. [ 116]

Если вы хотите зациклить это, вы можете, но вы должны обернуть его в оболочку, чтобы труба интерпретировалась правильно:

watch -x sh -c "ifconfig eth0 | grep -Eo '[0-9\.]+ [PTGMK]i?B'"

Но, на мой взгляд, это не очень полезно, так как это ... watch действительно хорошо только для реального человека, смотрящего на экран. Если это так, вы все сделали, но если вы хотите что-то делать с этими числами на регулярной основе, вы, вероятно, используете неправильный инструмент.

0
ответ дан 21 May 2013 в 18:34

Другие вопросы по тегам:

Похожие вопросы: