sed:§を区切り文字として使用するときの代替式の無効なオプション

sed:§を区切り文字として使用するときの代替式の無効なオプション

§sedコマンドの区切り文字として(0xA7)を使用しようとしています。

sed -i'' 's§error_log = /var/log/php-fpm.log§error_log = /proc/self/fd/2§' /etc/php5/php-fpm.conf

私は得る:

sed: bad option in substitution expression

または(他のLinuxシステムで):

sed: -e expression #1, char 66: Unknown option to 's'

私がそれを次のように変更した場合@

sed -i'' 's@error_log = /var/log/php-fpm.log@error_log = /proc/self/fd/2@' /etc/php5/php-fpm.conf

効果がある

なぜ?

ベストアンサー1

私が知っている限り次を楽しみにしています。文字を区切り文字として使用すると、文字はUnicodeですU+A7

man ascii | grep A7

返品何もない

@steeldriverがコメントで述べたように、§2バイトにエンコードします。以下を参照してください。

$ od -c <<< §
0000000 302 247  \n
0000003

おすすめ記事