Komut Satırından İki Dizinin İçeriğini Karşılaştırın

Anonim

diff gibi komutlarla elde ettiğiniz fazladan çıktı olmadan iki dizinin farklı içeriklerini karşılaştırmak ve listelemek için bunun yerine comm komutunu kullanabilirsiniz. Başlamak için Terminal'i başlatın ve dizin yollarını uygun şekilde ayarlayarak aşağıdaki komutu yazın:

comm -3 <(ls -1 klasör1) <(ls -1 klasör2)

Listelenen çıktı, sola hizalanan klasör1'e özgü dosyalar ve sağa hizalanan klasör 2'ye özgü dosyalar ile her klasörde farklı olan dosyalar olacaktır.

Örneğin, her ikisi de kullanıcı indirme dizininde saklanan “Pictures” adlı bir klasör ile “OldPictures” adlı bir klasörün içeriğini karşılaştırmak için sözdizimi aşağıdaki gibi olacaktır:

comm -3 <(ls -1 ~/İndirilenler/Resimler) <(ls -1 ~/İndirilenler/Eski Resimler)

Çıktı aşağıdaki gibi görünebilir:

$ iletişim -3 <(ls -1 ~/İndirilenler/Resimler) <(ls -1 ~/İndirilenler/Eski Resimler) Klasör-1-Dosya.PNG Klasörü -2-Dosya kopyala.PNG fotoğrafı 1 kopyala.PNG fotoğrafı 3.PNG

Her klasöre hangi dosyaların benzersiz olduğunu gösteren girintiye dikkat edin. Yukarıdaki örnekte, "photo 1 copy.PNG" ve "photo 3.png" dosyaları sağa hizalanmıştır, dolayısıyla OldPictures dizini ve Klasör-1-Dosya'ya özeldirler.PNG ve Klasör-2-Dosya kopyası.PNG, orijinal Resimler klasörüne özgüdür.

Bu, Mac OS X'te harika çalışıyor, ancak genel bir unix komutu olduğundan, linux ve diğer türevlerde de kullanılabilir olduğunu görmelisiniz. Herhangi bir uyumluluk sorunuyla karşılaşırsanız veya bu komutu gereksiz derecede karmaşık bulursanız, aynı işlevi gerçekleştirmek için diff'i kullanmayı deneyin.

Twitter'da @climagic tarafından bulunan harika numara, @osxdaily de orada!

Komut Satırından İki Dizinin İçeriğini Karşılaştırın