テキスト ファイルが 2 つあります。
最初のテキストファイル:
Hello
Hi
Hola
Bonjour
2番目のテキストファイル:
Hi
Bonjour
行番号に関係なくそれらの違いを出力するにはどうすればいいでしょうか?つまり、出力を保存したいのですが、
Hello
Hola
新しいテキストファイルに
答え1
「違い」が何を意味するのかは明確ではありませんが、指定された入力と出力を満たすものは次のとおりです。
$ cat >1
Hello
Hi
Hola
Bonjour
$ cat >2
Hi
Bonjour
$ diff --old-line-format='' <(sort 1) <(sort 2) >new
$ cat new
Hi
Bonjour
答え2
最初のファイルには存在するが 2 番目のファイルには存在しない行全体を出力するには:
grep -vxFf second first
あるいは、ファイルを並べ替えてから、次を使用しますcomm
。
comm -23 <(sort first) <(sort second)
答え3
awk コマンドを使用すると、この問題を解決できます。
awk 'NR==FNR{uu[$1]=1}NR!=FNR&&uu[$1]!=1{print}' second first