別のファイルに含まれている1つのファイルの行を削除する方法は?

別のファイルに含まれている1つのファイルの行を削除する方法は?

完全リストと部分リストの2つのリストがあります。セクション内のすべての行の完全なリストを検索している場合は、リスト全体から削除されるbashスクリプトが必要です。誰でも助けることができますか?

ベストアンサー1

grepファイルから1行に1つずつ複数のパターンを読み取ることができます。一致しない行を出力し、正規表現ではなく文字列を一致させ、行全体が一致する必要がある-vオプションと一緒に使用されます。-F-x

grep -Fvx -f partial.list complete.list >remaining.list &&
mv remaining.list complete.list

明らかに、2番目のコマンドラインは、リスト全体を含むファイルを上書きする場合にのみ機能します。

部分リストが大きく、リストを並べ替えても大丈夫ならjoinおそらくより速いでしょう。

おすすめ記事