Um ponto .
significa qualquer caractere. Mas você não quer que corresponda a uma aspa dupla; você quer que corresponda a qualquer coisa mas uma aspa dupla. Então especifique isso com uma classe de caracteres:
sed 's/"[^"]*"/"x"/g'
Eu tenho essa string, por exemplo:
asddsa "ll" sadd " fsgsg"
"sdafaf" "lkkx" "fsgfgsg"
Eu quero substituir todos os caracteres dentro de " "
por um caractere x
. A saída esperada neste caso deve ser:
asddsa "x" sadd " x"
"x" "x" "x"
Eu tentei algo assim: sed 's/".*"/"x"/g'
, mas a saída é logicamente
asddsa "x"
"x"
Como eu poderia corrigir meu regexp para obter a saída correta?
Tags sed regular-expression