比較兩個文字檔案並保存缺少的內容

比較兩個文字檔案並保存缺少的內容

我有兩個文字檔:

第一個文字檔:

Hello
Hi
Hola
Bonjour

第二個文字檔:

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

要輸出第一個檔案中存在但第二個檔案中不存在的整行:

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  

相關內容