Из команды
смотреть -n1 "ifconfig eth0 | grep GiB". У меня есть вывод, приведенный ниже,
blockquote>Теперь я просто хочу последние 5 цифр перед (ГиБ). Я написал для него регулярное выражение, и, кажется, работает
(\ d {1,4}) (?!. * \ D) \ sGiB
< / blockquote>Единственная проблема в том, что я не могу использовать ее с командой, показанной выше? Я использую Ubuntu любую помощь
Вы не разбираете команду 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
действительно хорошо только для реального человека, смотрящего на экран. Если это так, вы все сделали, но если вы хотите что-то делать с этими числами на регулярной основе, вы, вероятно, используете неправильный инструмент.