Não é apenas o GNU grep, com o GNU sed e o GNU awk: echo "a']" | sed "s/\'/foo/"
- > a']foo
e echo "a']" | awk "{sub(/\'/,\"foo\")}1"
- > %código%. Quando você executa o awk no modo POSIX, ele não faz isso, mas exibe o comportamento esperado: a']foo
- >
echo "a']" | awk --posix "{sub(/\'/,\"foo\")}1"
.
A questão é que existe um GNU-ism que afoo]
significa o mesmo que \'
, veja link :
Additional GNU Extensions
....
The anchor \' (backtick) matches at the very start of the subject string,
while \' (single quote) matches at the very end.
Se alguém tiver um caso de uso em que $
seja diferente de \'
, adoraria ouvi-lo.