Olá pessoal, na versão nova do sed 4.6 incluíram a opção --debug que mostra
o fluxo do programa, com o início do ciclo, os comandos e o que mudou no
espaço padrão, e depois no final do ciclo o resultado, muito legal :)
A linha que mostra onde a ER casou acho que é o número do caracter, na linha com 'três'
o comando s//x/ casou o "s" do final como caracter 5, já que o 'ê' tem dois bytes.
Abraços Paulo
echo -e 'um\ndois\ntrês'|sed --debug '/o/s//x/;/s/s//x/'
SED PROGRAM:
/o/ s//x/
/s/ s//x/
INPUT: 'STDIN' line 1
PATTERN: um
COMMAND: /o/ s//x/
COMMAND: /s/ s//x/
END-OF-CYCLE:
um
INPUT: 'STDIN' line 2
PATTERN: dois
COMMAND: /o/ s//x/
MATCHED REGEX REGISTERS
regex[0] = 1-2 'o'
PATTERN: dxis
COMMAND: /s/ s//x/
MATCHED REGEX REGISTERS
regex[0] = 3-4 's'
PATTERN: dxix
END-OF-CYCLE:
dxix
INPUT: 'STDIN' line 3
PATTERN: tr\o37777777703\o37777777652s
COMMAND: /o/ s//x/
COMMAND: /s/ s//x/
MATCHED REGEX REGISTERS
regex[0] = 4-5 's'
PATTERN: tr\o37777777703\o37777777652x
END-OF-CYCLE:
trêx