1

プロキシ フィルタ用の大きなドメイン リスト ファイルがあります。別のファイルには、例外ファイルのすべての行をフィルター ファイルから削除したいいくつかの例外があります。「sed」操作で可能ですか?

ありがとう。

4

2 に答える 2

4

通常、これgrepには-vおよび-fオプションを使用できます。実際、文字列が正規表現ではなく固定文字列と見なされるようにするために、おそらくfgreporフラグも使用する必要があります。-Fこれがないと、たとえば、infile実際には固定文字列と一致しないにもかかわらず、以下のファイルの最初の行が削除されます。

-v一致する行が保持されるのではなく破棄されるという意味を逆転させ、-fコマンドラインではなくファイルからパターンを取得します。

例えば:

pax> cat infile
http://wwwxdodgy.com/rest-of-url
http://www.dodgy.com/rest-of-url
ftp://this/one/is/good
https://www.bad.org/rest-of-url

pax> cat exceptions 
http://www.dodgy.com
https://www.bad.org

pax> fgrep -v -f exceptions infile 
ftp://this/one/is/good
于 2012-07-24T07:35:16.437 に答える
2

これは、grep を使用する方が簡単です。

grep -v -x -F -f /path/to/exclude /path/to/file 
于 2012-07-24T07:35:29.617 に答える