Bashのリストからパイプされたgrepコマンドを複数実行する

Bashのリストからパイプされたgrepコマンドを複数実行する

セキュリティタスクの一環として、私はsqlite3を使用して、毎日SSHを介して数十のGoogle Chrome履歴ファイルを分析します。

各ユーザーは、数十の承認された「安全な」サイトにアクセスできます。私の目的のために、私はこれらのセキュリティサイトに興味がありません。各履歴ファイルのURLを一覧表示し、セキュリティWebサイトを無視するために、grep -v次のように各セキュリティWebサイトを使用して一覧表示します。

sqlite3 /home/me/HistoryDatabaseFile.db "select * from urls order by url;" | grep -v safesite1.com | grep -v safesite2.com | grep -v safesite3.com | grep -v safesite4.com

など。私のコマンドは少なくとも20行に増え、管理できなくなりました。安全なサイトをリスト形式で除外しながらユーザーにURLリストを表示する方法はありますか?私は次のことを想像しています:

safesite1.com
safesite2.com
safesite3.com

次に、そのリストをコマンドにインポートします。内部でも外部でもかまいません。 bashから出力されるだけで構いません。

助けてくれてありがとう!

ベストアンサー1

私の考えであなたが探しているものは次のとおりです

grep -vf safe_websites inputfile

-vすでに知っている一致を元に戻すには、-fファイルからパターンをインポートしますsafe_websites

おすすめ記事