LinuxおよびHPUXの正規表現に違いはありますか?Linux/HPUXの正規表現
私はそれらをsedで使用しています。今
のsed -e "S/^ \ sのアリの\ sの $ /#アリ/ gの" Makefileの
:
私はLinux上でのみ動作し、以下をしようとしています私は '^'を取り除くと、それもHPでも動作することがわかります。 私が理解する限り、これは両方でサポートされるべきです。
LinuxおよびHPUXの正規表現に違いはありますか?Linux/HPUXの正規表現
私はそれらをsedで使用しています。今
のsed -e "S/^ \ sのアリの\ sの $ /#アリ/ gの" Makefileの
:
私はLinux上でのみ動作し、以下をしようとしています私は '^'を取り除くと、それもHPでも動作することがわかります。 私が理解する限り、これは両方でサポートされるべきです。
どこで使用していますか?セド?いくつかのスクリプト言語(perlなど)では?どこか別の場所?問題は不明です。実際の正規表現以上のスクリプト/入力/出力例を投稿する必要があります。とにかく、\s
は、「空白」の略で、ロケールと多分、他の要因によって決まると思います。
短い答えは「はい、おそらく違いがあります」です。
長い答え:
それはあなたが各マシン上で使用している、いないマシンが実行されているオペレーティングシステムのsedのバージョンに依存します。
私の経験では、HP-UXのようなものにインストールされているツールキット(sed、grep、awkなど)は、よく使われるLinuxディストリビューションのバージョンよりも劣っていることがよくあります。
私の推測では、HP-UXでは、HPが構築したsedのバージョンを使用しており、LinuxではGNU sedを使用していると思います。あなたは、HPのバージョンが何をすることができるのかを読んで、あなたのバージョンのLinuxで共通の根拠を見つけるか、HPマシンのどこかにGNUバージョンをインストールできるかどうかを調べる必要があります。
あなたが与えた特定の正規表現については、正規表現の問題と同様に、マッチするいくつかのサンプルテキストを与えて、正規表現が達成すると期待しているものがあれば助けになります。
はい、sedを使用します。 –
入力してください。実際の正規表現ですか?とにかく、ロケールの可能性が高いです。 \ sの代わりに[:space:]を使用してみることもできます。 – shylent