サーバーのアクセス ログを調べて、番号は含まれていないが単語が含まれている行を検索する必要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