
このコマンドでは、*がドットではなく*.comまたは*.netに似た文字列を抽出したいと思います。私はこれを書いた:
grep -P -E '^[^.]+\.com$ |^[^.]+\.net$' example.csv
次のエラーが発生します。
grep: conflicting matchers specified
明確にできますか?
答え1
-P
PCRE()と拡張正規表現()は同時に使用できません。-E
この場合、PCRE式をまったく使用していないように見えるので、それらを削除してもかまいません-P
。それ以降はスペースも一致できません$
。
大きな式をより短い式に結合します。
grep -E '^[^.]+\.(com|net)$'
または、
grep -E -x '[^.]+\.(com|net)'
この-x
オプションを使用すると、完全grep
な行のみが一致します。
この式は、非ドット文字のゼロ以外の数字、ドット、または次の文字と一致しnet
ますcom
。