Cách đầu tiên, yêu cầu hai tập tin file A và file B đã được sắp xếp.
Sau đó, để xóa các dòng dữ liệu của file A xuất hiện trong file B, bạn dùng command sau:
comm -23 fileA fileB > output
$ cat a.txt
a
b
c
d
$ cat b.txt
a
b
$ comm -23 a.txt b.txt
a
c
d
Khi đó file output sẽ là các dòng dữ liệu của file A nhưng không xuất hiện trong file B. Tham số -23 lấy các dòng xuất hiện trong cả 2 file, hoặc chỉ xuất hiện trong file B.
Trong trường hợp bạn muốn giữ nguyên trật tự sắp xếp ban đầu của file mà vẫn muốn đạt được mục đích tương tự, thì dùng command sau:
# grep -Fvxf <lines-to-remove> <all-lines>
$ grep -Fvxf fileB fileA > output
$ cat a.txt
a
d
c
b
$ cat b.txt
a
b
$ grep -Fvxf b.txt a.txt
a
d
c