Anda perlu menggunakan comm
:
comm -13 first.txt second.txt
akan melakukan pekerjaan itu.
ps. urutan file pertama dan kedua dalam masalah baris perintah.
Anda juga mungkin perlu mengurutkan file sebelum:
comm -13 <(sort first.txt) <(sort second.txt)
jika file numerik tambahkan -n
opsi untuk sort
.
Ini seharusnya berhasil
comm -13 <(sort file1) <(sort file2)
Sepertinya sort -n (numerik) tidak dapat bekerja dengan comm, yang menggunakan sort (alfanumerik) secara internal
f1.txt
1
2
21
50
f2.txt
1
3
21
50
21 akan muncul di kolom ketiga
#WRONG
$ comm <(sort -n f1.txt) <(sort -n f2.txt)
1
2
21
3
21
50
#OK
$ comm <(sort f1.txt) <(sort f2.txt)
1
2
21
3
50
cat f1.txt f2.txt | sort |uniq > file3
grep -Fxv -f first-file.txt second-file.txt
Pada dasarnya mencari semua baris di second-file.txt
yang tidak cocok dengan baris mana pun di first-file.txt
. Mungkin lambat jika file berukuran besar.
Juga, setelah Anda mengurutkan file (Gunakan sort -n
jika numerik), maka comm
seharusnya juga bekerja. Kesalahan apa yang diberikannya? Coba ini:
comm -23 second-file-sorted.txt first-file-sorted.txt
rsync hanya menyalin jenis file tertentu menggunakan opsi sertakan
Alat Linux untuk memeriksa DLL Windows