Membandingkan Konten Dua Direktori dari Baris Perintah

Anonim

Untuk membandingkan dan mencantumkan konten yang berbeda dari dua direktori tanpa output tambahan yang Anda dapatkan melalui perintah seperti diff, Anda dapat menggunakan perintah comm sebagai gantinya. Untuk memulai, luncurkan Terminal dan ketik perintah berikut, sesuaikan jalur direktori yang sesuai:

comm -3 <(ls -1 folder1) <(ls -1 folder2)

Keluaran yang terdaftar akan menjadi file yang berbeda di setiap folder, dengan file unik untuk folder1 rata kiri, dan file unik untuk folder 2 rata kanan.

Misalnya, untuk membandingkan konten folder bernama "Pictures" dan folder bernama "OldPictures", keduanya disimpan di direktori unduhan pengguna, sintaksnya adalah sebagai berikut:

comm -3 <(ls -1 ~/Unduhan/Gambar) <(ls -1 ~/Unduhan/Gambar Lama)

Keluaran mungkin terlihat seperti berikut:

$ comm -3 <(ls -1 ~/Downloads/Pictures) <(ls -1 ~/Downloads/OldPictures) Folder-1-File.PNG Folder -2-File salinan.PNG foto 1 salinan.PNG foto 3.PNG

Perhatikan indentasi, yang menunjukkan file mana yang unik untuk setiap folder. Dalam contoh di atas, file "photo 1 copy.PNG" dan "photo 3.png" disejajarkan dengan benar, oleh karena itu file tersebut unik untuk direktori OldPictures, dan Folder-1-File.PNG dan Salinan Folder-2-File.PNG unik untuk folder Gambar asli.

Ini berfungsi dengan baik di Mac OS X, tetapi ini adalah perintah unix generik sehingga Anda harus menemukannya dapat digunakan di linux dan varian lainnya juga. Jika Anda mengalami masalah kompatibilitas, atau menganggap perintah ini terlalu rumit, coba gunakan diff untuk menjalankan fungsi yang sama.

Trik hebat ditemukan oleh @climagic di Twitter, @osxdaily juga ada di sana!

Membandingkan Konten Dua Direktori dari Baris Perintah