Eu estava tentando usar §
(0xA7) como delimitador para um comando sed:
sed -i'' 's§error_log = /var/log/php-fpm.log§error_log = /proc/self/fd/2§' /etc/php5/php-fpm.conf
Eu recebo:
sed: bad option in substitution expression
ou (em um sistema Linux diferente):
sed: -e expression #1, char 66: Unknown option to 's'
Se eu mudar isso para @
:
sed -i'' 's@error_log = /var/log/php-fpm.log@error_log = /proc/self/fd/2@' /etc/php5/php-fpm.conf
funciona.
Por quê?
Como o AFAIK sed espera um caractere ascii como delimitador, seu char é unicode
U+A7
:não devolva nada .
E como o @steeldriver disse no comentário,
§
é codificado com dois bytes, veja: