Чтобы получить только номер, измените " grep
" в вашем примере на следующее:
grep -oE '[0-9]+'
Это должно работать (по крайней мере, синтаксис grep, безусловно, будет работать в Linux), но у меня нет Mac, поэтому, возможно, вам придется немного его настроить, чтобы заставить его работать.
Объяснение:
- Приведенный выше grep извлекает только числовую часть выходных данных.
- Опция 'o' гласит: показывать ТОЛЬКО совпадение.
- Опция «E» говорит использовать регулярное выражение для сопоставления.
- '[0-9] +' - это регулярное выражение для поиска чисел (+ означает одно или несколько).
Следовательно, эта команда grep найдет только числовую часть выходной строки.
..
EDITED ... после второго чтения кажется, что вам нужно число, добавленное в конце "Battery Keyboard:", так что вот решение с использованием sed:
ioreg -c AppleBluetoothHIDKeyboard | sed -r 's/.*=[[:space:]]*([[:digit:]]*).*/Keyboard Battery: \1/;'
В этом случае вы заменяете исходную строку строкой, начинающейся с «Аккумулятор клавиатуры:».
Опять же, надеюсь, что это работает на Mac!