サーバーのアクセス ログを調べて、番号は含まれていないが単語が含まれている行を検索する必要12345
がありますomgspecialword
。
これらの行をgrepできるようにする正規表現は何ですか?
数値と単語が固定されている場合、正規表現は必要ありません。結果を 2 つの異なる's|
でパイプしてフィルター処理するだけですgrep
cat file_name | grep -v 12345 | grep omgspecialword
説明:
cat file_name |
-cat
の内容を出力file_name
し、次のセグメントにパイプします
grep -v 12345 |
一致する pattern を含む行を除外し12345
、結果を次のセグメントにパイプします
grep omgspecialword
一致する pattern を含む行をフィルタリングしますomgspecialword
。ここでは他にパイプされていないため、これは stdout に出力されます。
grep 'omgspecialword' your_file|grep -v 12345
また
awk '$0!~/12345/ && /omgspecialword/' your_file
また
perl -lne 'if(/omgspecialword/ && !(/12345/)){print}' your_file