Jika Anda menggunakan diff, -uopsinya mungkin lebih bisa dibaca manusia.
Lekensteyn
@Rinzwind, kedua file hanya berisi teks 1, tetapi jika Anda ingin melihat lebih banyak, lihat pastebin.com/byiqdie1
Jiew Meng
Maaf. Tidak ketika saya melakukan itu. Pasti ada sesuatu yang berbeda. Lakukan cp 1 2(jadi timpa 2) dan kemudian Anda dapat 100% b yakin mereka sama;)
Rinzwind
2
vimdiff file1 file2? : D
dylnmc
Jawaban:
68
Baris 1: akependekan dari ditambahkan, duntuk dihapus dan cuntuk diubah. Nomor baris dari file asli muncul sebelum surat-surat ini dan mereka dari file yang dimodifikasi muncul setelah surat.
Baris 2: baris dengan <berasal dari file 1 dan berbeda dari file 2.
Baris ketiga adalah pembagi.
Baris ke-4: baris dengan >berasal dari file 2 dan berbeda dari file 1.
(Jika Anda pernah melihatnya =berarti garis-garisnya sama di kedua file)
Dan masalah Anda mungkin spasi putih atau karakter yang dapat dibaca non-manusia: mereka juga memicu perbedaan.
Ada beberapa opsi untuk memanipulasi output.
Contoh:
rinzwind @ discworld: ~ $ more 1
uji
test2
test3
rinzwind @ discworld: ~ $ more 2
uji
test2
test3
SEBUAH "!" mewakili perubahan antara baris yang sesuai dalam dua file. Tanda "+" mewakili penambahan garis, sedangkan ruang kosong mewakili garis yang tidak berubah. Di awal tambalan adalah informasi file, termasuk path lengkap dan cap waktu. Di awal setiap bingkah adalah nomor baris yang berlaku untuk perubahan yang sesuai dalam file. Rentang angka yang muncul di antara set tiga tanda bintang berlaku untuk file asli, sementara set tiga tanda hubung berlaku untuk file baru. Rentang hunk menentukan nomor baris awal dan akhir di file masing-masing.
Memperluas komentar Lekensteyn tentang format terpadu:
Format dimulai dengan header dua baris yang sama dengan format konteks, kecuali bahwa file asli didahului oleh "---" dan file baru didahului oleh "+++". Mengikuti ini adalah satu atau lebih perubahan bakhil yang berisi perbedaan garis dalam file. Garis kontekstual yang tidak berubah didahului oleh karakter spasi, garis tambahan didahului oleh tanda plus, dan garis penghapusan didahului oleh tanda minus.
Bagaimana saya memeriksa apakah ada karakter tersembunyi? Apakah ada cara untuk mengabaikan karakter tersembunyi (mungkin hanya mengecualikan baris & tab baru?) Saya kira sebagian besar karakter tersembunyi tidak disengaja?
Jiew Meng
Saya memasukkan beberapa opsi berguna (disalin dari man diff;))
Rinzwind
Saya perhatikan menggunakan karya -b flag. Hmm, saya tidak melihat perbedaan di spasi putih di gedit :)
Jiew Meng
@JiewMeng Jalankan od -x1zpada kedua file dan bandingkan odoutput. Seharusnya menemukan perbedaan tersembunyi antara file.
lgarzo
6
Saya menemukan od (dump oktal) berguna ketika membandingkan file dengan karakter yang tidak dapat dicetak (terutama file yang berbeda adalah "biner" dan dengan demikian hanya memberi tahu Anda bahwa mereka memang berbeda).
Pada contoh di bawah ini, saya membuat sepasang file yang bisa seperti yang asli, lalu lakukan diff dengan output aslinya; selanjutnya saya melakukan diff pada beberapa output "od" yang berbeda.
-u
opsinya mungkin lebih bisa dibaca manusia.cp 1 2
(jadi timpa 2) dan kemudian Anda dapat 100% b yakin mereka sama;)vimdiff file1 file2
? : DJawaban:
Baris 1:
a
kependekan dari ditambahkan,d
untuk dihapus danc
untuk diubah. Nomor baris dari file asli muncul sebelum surat-surat ini dan mereka dari file yang dimodifikasi muncul setelah surat.Baris 2: baris dengan
<
berasal dari file 1 dan berbeda dari file 2.Baris ketiga adalah pembagi.
Baris ke-4: baris dengan
>
berasal dari file 2 dan berbeda dari file 1.(Jika Anda pernah melihatnya
=
berarti garis-garisnya sama di kedua file)Dan masalah Anda mungkin spasi putih atau karakter yang dapat dibaca non-manusia: mereka juga memicu perbedaan.
Ada beberapa opsi untuk memanipulasi output.
Contoh:
format konteks:
SEBUAH "!" mewakili perubahan antara baris yang sesuai dalam dua file. Tanda "+" mewakili penambahan garis, sedangkan ruang kosong mewakili garis yang tidak berubah. Di awal tambalan adalah informasi file, termasuk path lengkap dan cap waktu. Di awal setiap bingkah adalah nomor baris yang berlaku untuk perubahan yang sesuai dalam file. Rentang angka yang muncul di antara set tiga tanda bintang berlaku untuk file asli, sementara set tiga tanda hubung berlaku untuk file baru. Rentang hunk menentukan nomor baris awal dan akhir di file masing-masing.
Memperluas komentar Lekensteyn tentang format terpadu:
Format dimulai dengan header dua baris yang sama dengan format konteks, kecuali bahwa file asli didahului oleh "---" dan file baru didahului oleh "+++". Mengikuti ini adalah satu atau lebih perubahan bakhil yang berisi perbedaan garis dalam file. Garis kontekstual yang tidak berubah didahului oleh karakter spasi, garis tambahan didahului oleh tanda plus, dan garis penghapusan didahului oleh tanda minus.
Beberapa opsi bermanfaat:
-b
Abaikan perubahan jumlah ruang putih.-w
Abaikan semua ruang putih.-B
Abaikan semua baris kosong.-y
Output dalam 2 kolom.sumber
man diff
;))od -x1z
pada kedua file dan bandingkanod
output. Seharusnya menemukan perbedaan tersembunyi antara file.Saya menemukan od (dump oktal) berguna ketika membandingkan file dengan karakter yang tidak dapat dicetak (terutama file yang berbeda adalah "biner" dan dengan demikian hanya memberi tahu Anda bahwa mereka memang berbeda).
Pada contoh di bawah ini, saya membuat sepasang file yang bisa seperti yang asli, lalu lakukan diff dengan output aslinya; selanjutnya saya melakukan diff pada beberapa output "od" yang berbeda.
$ echo 1> 1
$ echo "1"> 2
$ diff 1 2
$ od -c 1> 1.od
$ od -c 2> 2.od
$ diff 1.od 2.od
$ od -Ax -c -t x1 1> 1.od
$ od -Ax -c -t x1 2> 2.od
$ diff 1.od 2.od
sumber
saya memiliki masalah yang sama dan saya menemukan solusi yang mungkin membantu, gunakan perintah:
salah satunya mungkin dalam format dos / windows dan yang lainnya format UNIX
setelah saya melakukan ini, diff itu semua baik!
sumber
Tidak yakin apakah ini membantu dengan sulit menemukan karakter spasi, tetapi berguna untuk melakukan diff: http://www.gnu.org/software/wdiff/
sumber
http://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed-Unified
Tautan di atas memberikan deskripsi yang lebih ringkas dan jelas.
sumber