sedを使用して正規表現キャプチャグループのコンテンツを置き換える
私はnginx.confファイルをプログラムで編集しようとしていますが、これには次のような行が含まれています: access_log /var/log/nginx/access.log; 私はこのようになりたい: access_log /dev/stdout; 正規表現^\s*access_log([^;]*);はキャプチャ/var/log/nginx/access.logグループの一部をキャプチャすると信じていますが、キャプチャグループをsedに正しく置き換える方法がわかりませんか? 私はもう試した echo " access_log /var/log/nginx/access.log;" | sed 's/^\s*access_log([^;]*);/\1\\\/dev\\\/stdout/' しかし、私はエラーが発生しています: sed: -e expression #1, char 45: invalid reference \1 on `s' command's RHS 私が試してみるとsed -rエラーはありませんが、出力は私が期待するものではありません: /var/log/nginx/access.log\/dev\/stdout 私は「access_log /var/log/nginx/access.log;」を直接検索しないように、キャプチャグループとその他について賢くしようとしています。配布によってデフォルトのログファイルの場所が変更された場合。