2015-07-10 60 views

回答

4
grep a.txt -F -x -v --file=b.txt         
      | | | +           
      | | | +--> obtain PATTERN from file     
      | | +-------> invert match       
      | +----------> force PATTERN to match only whole lines 
      +-------------> PATTERN is a set of newline-separated fixed strings 

輸出:

2 
4 
+1

@Sean Bright:感謝編輯:p –

+0

我不喜歡'a','b'。我可能會編輯爲'f1'&'f2':P另一方面,您可能需要使用'-x'來匹配整行。 –

+0

@Blue Moon:這些是OP的先決條件:現在格式化應該會更好。 –

3

假設A.TXT和b.txt已經詞法排序:

comm -23 a.txt b.txt 

正常情況下,comm會讀取兩個文件,這些文件應該按照詞彙排序 ,並生成三個文本列作爲輸出:僅限於file1中的行;只在file2中有行;和兩個文件中的行。

選項-23禁止第二列和第三列。

+1

謝謝,我upvoted你的答案,但接受其他。因爲這個解決方案對我毫不起眼。在cygwin上沒有安裝默認'comm'。 – rmuller

相關問題