"Ungrep" - 一致しないパターン

以下を実行するコマンドまたはスクリプトを探しています。

ファイル1.txt:

abcd
efgh 
ijkl
mnop

ファイル2.txt:

123abcd123
123efgh123
123mnop123

次のコマンドが必要です。

ungrep file1.txt file2.txt

次を返します。

ijkl

つまり、file2.txtのgrepの結果を返さないfile1.txtの行を提供します。 file1.txtを繰り返し、各行に対してfile2.txtをgrepingし、結果を保存し、結果が空の行を出力することでこれを行うことができることを知っていますが、これを行うより効率的な方法ありますように。

ベストアンサー1

GNUの場合、grep次のことが機能します。この-fオプションを使用すると、file1.txt「スキーマファイル」に渡されますが、データファイルに2番目のパスにすることもできます。-o一致する部品のみを報告するために使用されます。最後に、一度だけ一致する単語を抽出します。これはfile1.txt一致するものがない行に対応しますfile2.txt

grep -h -o -f  file1.txt file2.txt file1.txt | sort | uniq -u
ijkl

おすすめ記事