我有兩個(排序)文本文件:如何刪除在另一個文件中指定的所有線
A.TXT
1
2
3
4
b.txt
1
3
7
我想創建一個文件只列出a.txt
中刪除文件b.txt
的所有行的行。
所以結果應該是:
的Result.txt
2
4
我有兩個(排序)文本文件:如何刪除在另一個文件中指定的所有線
A.TXT
1
2
3
4
b.txt
1
3
7
我想創建一個文件只列出a.txt
中刪除文件b.txt
的所有行的行。
所以結果應該是:
的Result.txt
2
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
假設A.TXT和b.txt已經詞法排序:
comm -23 a.txt b.txt
正常情況下,comm
會讀取兩個文件,這些文件應該按照詞彙排序 ,並生成三個文本列作爲輸出:僅限於file1中的行;只在file2中有行;和兩個文件中的行。
選項-23禁止第二列和第三列。
謝謝,我upvoted你的答案,但接受其他。因爲這個解決方案對我毫不起眼。在cygwin上沒有安裝默認'comm'。 – rmuller
@Sean Bright:感謝編輯:p –
我不喜歡'a','b'。我可能會編輯爲'f1'&'f2':P另一方面,您可能需要使用'-x'來匹配整行。 –
@Blue Moon:這些是OP的先決條件:現在格式化應該會更好。 –