Substituindo arquivos com sed usando regex

1

Eu quero substituir uma string em muitos arquivos como "Total: * points" usando sed. Eu simplesmente não sei como usar sed com regex. Abaixo está o que eu tenho. Obrigado antecipadamente!

find ./ -iname "skp-corr-*.txt" -exec sed -i "" "s/(Total: )(.*)(points)/Total: X \/ 31 points/g" {} \;

Exemplo de arquivo antes: Total: 4/22 pontos

Exemplo de arquivo após: Total: x / 30 pontos

    
por Jakob Benz 06.01.2016 / 00:19

1 resposta

1

sed já foi criado para usar o regex.

find ./ -iname "skp-corr-*.txt" -exec sed -i "s@Total:.*points@Total: X / 30 points@g" {} \;

Para o OS X,

find ./ -iname "skp-corr-*.txt" -exec sed -i "" -e "s@Total:.*points@Total: X / 30 points@g" {} \;
    
por 06.01.2016 / 00:34