Perlスタイルの正規表現を使用するsedが必要な場合は、2つの方法があるようです:
ssed -R
perl -pe
この目的のために他のツールよりも特定のツールを好む理由はありますか?それらはすべて-iフラグをサポートします。私は彼らが同じPerl正規表現ライブラリを使用していると仮定しているので、おそらく同様のパフォーマンスと同じ機能とバグがあります。最新のUNIXシステムにPerlをインストールしないのは珍しいようです。
答え1
ssed
バイナリよりはるかに小さいですperl
。 /usr/bin/ssed
123K、PCRE静的リンクです。 /usr/bin/perl
1.7Mで、一緒に取り付けられた標準モジュールは含まれていません。
ssed
小規模なディストリビューションまたはリカバリ/インストールプログラムISOにインストールできますが、インストールされない可能性perl
があります。しかし、PCREはほとんど便宜のためのものなので、これを確認するのは難しいです。通常の基本または拡張正規表現は、あまりにも多くのsed
作業を行わずにPCREが実行する作業の大部分を実行できます。これにより、別の123Kスペースを節約できます。
それほど重要ではないのは、少なくとも開始オーバーヘッドの点でssed
より速いということです。スクリプトのperl
コンパイルperl
は高速ではありません。これは、ssedまたはperlを繰り返し呼び出すfor / whileループを持つシェルスクリプトでのみ意味があります。