Linuxでこのコマンド(sort -uコマンド)をどのように実行できますか?

Linuxでこのコマンド(sort -uコマンド)をどのように実行できますか?

いくつかの単語の内容を含む2つのファイルがあります。

はい

file1には10個の単語があります。

world
earth
eye
ear
near 
from 
going
want
we 
our

2番目のfile2には7つの単語があります。

world
earth
eye
ear
near 
going
want

file2にない単語を3番目のファイルとして出力したいと思います。

たとえば、(from、our、we)はfile2には存在しません。

ベストアンサー1

ただ

grep -vFxf file2 file1 > file3

これにより、file2にはありませんが、file1にはある行が返され、結果はfile3に書き込まれます。

  • -v、リバースマッチ、これは対応する行がfile2にのみ存在することを意味します。これがなければ、-v両方のファイルの対応する行が返されます。

  • -Fこれは、パターンがgrep正規表現ではなく固定パターン文字列と一致することを示します。

  • -x、行全体をパターン文字列に一致させます。

  • -f、ファイルからパターンを読み取ります。

あるいは、質問のタイトルと言及したコマンドに基づいて、これらの一意の単語sort -u(実際には行)がfile1またはfile2にあることを望むようです。だとしたら、それだけでいいです。

uniq -u <(sort file1 file2) > file3

おすすめ記事