別の行にファイルをマージする方法は?

別の行にファイルをマージする方法は?

別の行にあるファイルをマージする最速のコマンドライン方法は何ですか?たとえば、次の2つのファイルがあります。

a.txt:

foo  
bar
foobar

b.txt

foo
foobar
line
by
bar

次の出力を取得したい。

foo
bar
foobar
line
by

上記の例のようにファイルをマージする簡単な方法はありますか? (行の順序は重要ではありません)

ベストアンサー1

$ sort -u a.txt b.txt
bar
by
foo
foobar
line

これにより、2つのファイルの(結合された)内容がソートされ、重複した行が削除されます。欠点は、1行がファイルに重複している場合、その行も削除されることです。

結果を書き込むには、c.txt次を使用します。

sort -u -o c.txt a.txt b.txt

または標準リダイレクト

sort -u a.txt b.txt >c.txt

おすすめ記事