Как заставить sed печатать только совпадающее выражение?
Я хочу переписать строки типа «Аккумулятор 0: зарядка 44%, зарядка» в «Аккумулятор: 44%». Я попробовал следующее:
sed -n '/\([0-9]*%\)/c Battery: \1'
Это не работает
Распространенное "решение" - использовать поиск, замену и сопоставление всей строки: sed -n 's/.*\([0-9]*%\).*/Battery: \1/p'
Теперь. * Слишком жадные, а \1 - это только%.
Кроме того, я не хочу соответствовать больше, чем мне нужно.