2017-03-10 19 views
0

この例では、 'list'という別のコマンドの出力から 'foo'または 'bar'で始まるファイルの行を出力しようとしています。 それは のように見えます| egrep 'foo | bar'> file.txt 最初の行だけでなく、行のどこでも 'foo'または 'bar'をピックアップする以外は機能します。私は引用符の前と後ろにregex '^'を使い、grep -Pでegrepを置き換えて、別のやり方で引用符を動かすことを試みる様々なバリエーションを試しました。私はそれが行の始めに起こったときだけそれらの用語を使用するように強制する方法を理解できません。egrep複数の文字列正規表現の行開始

+0

'grep -E '^(foo | bar)' file' – anubhava

+0

は動作しませんでした。0行目のファイルを取得しました。 – sharpy1064

+0

私はそれを理解しました。 grepとegrepを持つLinuxは動作しません。 RHELを実行している別のボックスにファイルを転送すると、これは機能します。ありがとう! – sharpy1064

答えて

0

あなたはfoobar両方の前で^を追加する必要があります。@anubhavaが示唆よう

echo -e "fooOK\nbarOK\n--fooNOK\n--barNOK" | egrep "^foo|^bar" 
fooOK 
barOK 

または使用が括弧します。

+0

また、0行ファイルを取得しても機能しませんでした。私はすでにこの特定の方法を試していました。 – sharpy1064

関連する問題