Agの有無にかかわらず検索

Agの有無にかかわらず検索

ファイルが2つあります

echo 'example.com/call_me?param' > file1.txt
echo 'example.com/call_me_maybe?param' >> file1.txt
echo 'example.com/call_me?' >> file1.txt
echo 'example.com/call_me?param' > file2.txt
echo 'example.com/call_me_maybe?' >> file2.txt

$ ag -v '\?param'
file2.txt
2:example.com/call_me_maybe?

file1.txt
3:example.com/call_me?

$ ag '\/call_me_maybe' -v '\?param'
ERR: Error stat()ing: \?param
ERR: Error opening directory \?param: No such file or directory

$ ag '\/call_me_maybe' -v '\?param' file1.txt
ERR: Error stat()ing: \?param
ERR: Error opening directory \?param: No such file or directory
file1.txt
1:example.com/call_me?param
3:example.com/call_me?

特定の用語を検索して他のパターンを除外したいです。 1つのコマンドでこれを行うことはできますか?

私はファイルを採掘するのでagを使いますlog.gz。だからzgreporを使うことができますag -z

ベストアンサー1

私はそれを使用しませんが、agマニュアルページによると、コマンドラインは次のようになります。

ag [options] pattern [path ...]

つまり、1つのモードしか許可されません。

grep検索をリバース検索と組み合わせたい場合(例:検索を実行する)と同様に、a AND NOT b出力をgrep -v ...。例えば

ag '\/call_me_maybe' | grep -v '\?param'

おすすめ記事