GNU/Linux >> Belajar Linux >  >> Linux

Perbedaan spasi putih antara dua file di Linux

Di FreeBSD atau sebagian besar sistem Linux, Anda dapat menyalurkan keluaran diff melalui cat -v -e -t untuk menunjukkan perbedaan spasi putih.

diff file1 file2 | cat -vet

Tab akan ditampilkan sebagai ^I , sebuah $ akan ditampilkan di akhir setiap baris sehingga Anda dapat melihat spasi kosong, dan karakter noncetak akan ditampilkan sebagai ^X atau M-X .

Jika Anda memiliki GNU coreutils (tersedia di sebagian besar distribusi Linux non-busybox), ini dapat disederhanakan menjadi

diff file1 file2 | cat -A

Pada sistem busybox, gunakan catv -vet .


Untuk vim pengguna, ada utilitas berguna untuk menunjukkan perbedaan yang tepat antara file:

vimdiff file1 file2

Ini akan menempatkan setiap file di windows, berdampingan, dan perbedaan dengan warna yang disorot.

Beberapa perintah berguna saat berada di vimdiff

Sedangkan di vimdiff , beberapa perintah yang berguna adalah:

  • ]c :lompat ke perubahan berikutnya

  • [c :lompat ke perubahan sebelumnya

  • ctrl-W ctrl-W :beralih ke jendela lain

  • zo :lipatan terbuka

  • zc :tutup lipatan

Contoh

Berikut adalah contoh vimdiff dalam xterm membandingkan dua versi dari cups file konfigurasi:

Anda dapat melihat bahwa bagian panjang dari garis identik telah diciutkan. Mereka dapat dibuka lagi dengan zo .

Skema warna akan bervariasi tergantung pada pengaturan opsi Anda. Dalam contoh di atas, ketika garis muncul di satu file tetapi tidak muncul di file lain, garis tersebut diberi latar belakang biru gelap. Di file lain, garis yang hilang ditunjukkan dengan garis putus-putus. Saat garis muncul di kedua file tetapi memiliki beberapa perbedaan, bagian garis yang tidak diubah memiliki latar belakang merah muda dan bagian yang diubah memiliki latar belakang merah.


Apakah salah satu file diedit di mesin Windows?

Terminasi jalur standar di Windows adalah CRLF, di mana di Linux hanya LF (dan di Mac dulu CR, tapi saya menduga itu berubah sejak OS X).

Coba wc -l pada file dan lihat berapa baris, lalu lihat apakah perbedaan ukurannya sama dengan jumlah baris (baris terakhir tidak boleh diakhiri dalam satu file).


Linux
  1. Linux – Bagaimana Cara Menghapus File yang Dibuat Antara Dua Kali?

  2. Ekstrak Teks Antara Dua Baris Tertentu?

  3. Cara mendapatkan perbedaan (hanya penambahan) antara dua file di linux

  1. Cara Mentransfer File Antara Dua Komputer menggunakan Perintah nc dan pv

  2. Pelajari Perbedaan Antara Perintah "su" dan "su -" di Linux

  3. 5 Alat Baris Perintah untuk Menemukan File dengan Cepat di Linux

  1. Cetak Dua File Dalam Dua Kolom?

  2. Garis Umum Antara Dua File?

  3. Produk Cartesian dari dua file (sebagai kumpulan baris) di GNU/Linux