perl -p -i -e 's%^(include /etc/nginx/https.include;)$%#$1%' /etc/nginx/ap-servers.include
ラインは、;
で終わる代わりに使用していない可能性がある場合:
perl -p -i -e 's%^(include /etc/nginx/https.include;.*)$%#$1%' /etc/nginx/ap-servers.include
をあなたは、元のファイルを保存したい場合は、-i
後にバックアップ拡張子を追加します。
perl -p -i.bak -e 's%^(include /etc/nginx/https.include;)$%#$1%' /etc/nginx/ap-servers.include
今、説明する。 -p
フラグは、インプレース置換を意味します。ファイルのすべての行が式に供給され、結果が置換として使用されます。 -i
フラグは、バックアップファイルの拡張子を示します。これを何もせずに使用することで、バックアップの生成を防ぐことができます。 -e
は、実行する式として次のパラメータを取得するようにPerlに指示します。
ここで、式はs%something%other%
です。パスのスラッシュをエスケープしないようにするには、より伝統的な/
の代わりに%
を使用します。私は式のかっこを使用し、安全のための置換式には$1
を使用します。あなたが1つを変更すると、もう1つが続きます。したがって、%#$1%
は、実際には、s
の第2の%
であり、その後に所望の#
,$1
、括弧内のパターンを示す%
、s
の順である。
HTH。ハンド。
これは本当にserverfault.com imhoより適切です。 –
なぜそれがserverfaultに適しているのか分かりません。それはサーバーとは関係がないようです。これはスーパーユーザーに属します。そのように閉じる投票。 – rmeador
/bin/shまたはbashまたはcshまたは他のシェルがTuring完全言語です。どうしてあなたは "Xを言語Yで達成するのですか"とは思わないのですか? StackOverflowに属していますか? – dmckee