Como fazer sed apenas imprimir a expressão correspondente?
Eu quero reescrever strings como "Bateria 0: Carregando, 44%, carregando" para "Bateria: 44%". Eu tentei o seguinte:
sed -n '/\([0-9]*%\)/c Battery: \1'
Isso não funciona.
A "solução" comum é usar a pesquisa e substituir e combinar a linha inteira: sed -n 's/.*\([0-9]*%\).*/Battery: \1/p'
Agora, os * são muito gananciosos e o \ 1 é apenas o%.
Além disso, não quero corresponder mais do que preciso.