「then」と「there」を含むファイルがあります。
私はできます。
$ grep "then " x.x
x and then some
x and then some
x and then some
x and then some
私はできます。
$ grep "there " x.x
If there is no blob none some will be created
1回の操作で両方を検索する方法は?頑張った
$ grep (then|there) x.x
-bash: 予期しない表示 "(") の近くで構文エラーが発生しました。
そして
grep "(then|there)" x.x
durrantm.../code
# (Nothing)
ベストアンサー1
式を引用符で囲む必要があります。あなたが経験しているエラーは、bashが(
特殊文字として解釈した結果です。
また、拡張正規表現を使用するにはgrepに指示する必要があります。
$ grep -E '(then|there)' x.x
|
拡張正規表現がない場合は、および(
をエスケープする必要があります)
。ここでは一重引用符を使用しています。 Bashは二重引用符の中のバックスラッシュを特別に扱います。
$ grep '\(then\|there\)' x.x
この場合、グループ化は必要ありません。
$ grep 'then\|there' x.x
次の場合に必要です。
$ grep 'the\(n\|re\)' x.x