Bagaimana cara memplot hasil perintah unix diff sisi-ke-sisi alih-alih satu perbedaan demi satu? Lihat contoh di bawah ini:
diff /tmp/test1 /tmp/test2
1,4c1,2
< asfdsadf
< asdfsad
< fsaf
< fdsadf
---
> asdfsafdsf
> saf
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa
< fd
---
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> safa
Saya ingin mendapatkan sesuatu seperti:
diff /tmp/test1 /tmp/test2
1,4c1,2
< asfdsadf > asdfsafdsf
< asdfsad > saf
< fsaf
< fdsadf
---
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa > sadf
< fd > sadf
--- > sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> safa
Jawaban:
Dari
man diff
, Anda bisa menggunakan-y
untuk melakukan secara berdampingan.Karenanya, katakan:
Uji
Mari bandingkan mereka:
sumber
diff
memiliki lebar keluaran maksimum hard-code (130 kolom). Tambahkan opsi diff--width=$COLUMNS
untuk mengatur ini ke lebar terminal Anda.diff -y /tmp/test1 /tmp/test2 | less
diff --width=$COLUMNS --suppress-common-lines --side-by-side a b
diff --expand-tabs --width=$COLUMNS --suppress-common-lines --side-by-side a b
Dari beranda icdiff :
IMHO, hasilnya jauh lebih mudah dibaca daripada
diff -y
.sumber
sumber
-y
menunjukkan garis umum juga yang tidak sama dengandiff
pertanyaan yang adil dan asli. +1.diff -W $COLUMNS --suppress-common-lines -y file1 file2
Kamu bisa memakai:
atau
atau
untuk tampilan berdampingan.
sumber
diff -y
dansdiff
? Hasil mereka terlihat identik dengan saya.Anda harus memiliki
sdiff
penggabungan perbedaan file secara berdampingan. Bacalahman sdiff
untuk cerita lengkapnya.sumber
sdiff
tampaknya melakukan hal yang samadiff -y
dansdiff
dokumentasi info mengatakan itu tidak berlaku lagi: "'sdiff' tanpa '--output' ('-o') menghasilkan perbedaan berdampingan. Penggunaan ini sudah usang; gunakan opsi '--side-by-side' ('-y') dari 'diff' sebagai gantinya. "Anda cukup menggunakan:
Ini menunjukkan output terbagi dalam dua kolom dan diwarnai! (
colordiff
)sumber
brew install colordiff
Lihat rumus colordiffGunakan
-y
opsi:sumber
Coba cdiff - Lihat perbedaan warna dan inkremental di ruang kerja atau dari stdin dengan dukungan berdampingan dan pager otomatis.
sumber
Anda bisa menggunakan
vimdiff
.Contoh:
sumber
Jika file Anda memiliki penggunaan spasi dan tab yang tidak konsisten, mungkin ada gunanya menyertakan
-t
argumen untuk memperluas tab:sumber
Perintah diff yang ditingkatkan dengan warna, berdampingan dan alias
Misalkan isi file seperti:
dan
Sekarang membandingkan secara berdampingan
Anda dapat menentukan alias untuk digunakan
Kemudian hasil diff baru:
sumber