2009-05-24 6 views
0

LinuxおよびHPUXの正規表現に違いはありますか?Linux/HPUXの正規表現

私はそれらをsedで使用しています。今

のsed -e "S/^ \ sのアリの\ sの $ /#アリ/ gの" Makefileの

私はLinux上でのみ動作し、以下をしようとしています私は '^'を取り除くと、それもHPでも動作することがわかります。 私が理解する限り、これは両方でサポートされるべきです。

答えて

2

どこで使用していますか?セド?いくつかのスクリプト言語(perlなど)では?どこか別の場所?問題は不明です。実際の正規表現以上のスクリプト/入力/出力例を投稿する必要があります。とにかく、\sは、「空白」の略で、ロケールと多分、他の要因によって決まると思います。

+0

はい、sedを使用します。 –

+0

入力してください。実際の正規表現ですか?とにかく、ロケールの可能性が高いです。 \ sの代わりに[:space:]を使用してみることもできます。 – shylent

1

短い答えは「はい、おそらく違いがあります」です。

長い答え:

それはあなたが各マシン上で使用している、いないマシンが実行されているオペレーティングシステムのsedのバージョンに依存します。

私の経験では、HP-UXのようなものにインストールされているツールキット(sed、grep、awkなど)は、よく使われるLinuxディストリビューションのバージョンよりも劣っていることがよくあります。

私の推測では、HP-UXでは、HPが構築したsedのバージョンを使用しており、LinuxではGNU sedを使用していると思います。あなたは、HPのバージョンが何をすることができるのかを読んで、あなたのバージョンのLinuxで共通の根拠を見つけるか、HPマシンのどこかにGNUバージョンをインストールできるかどうかを調べる必要があります。

あなたが与えた特定の正規表現については、正規表現の問題と同様に、マッチするいくつかのサンプルテキストを与えて、正規表現が達成すると期待しているものがあれば助けになります。