comm
comm, Unix ve Unix Benzeri sistemlerde iki düz metin dosyası arasında karşılaştırma yapmak için kullanılan bir Unix komut satırı programı'dır.
Kullanımı
comm iki dosyayı girdi alarak, satırlarını dikkate alarak okur. comm komutunun çıktısı, üç sütundan oluşan bir dosya gibidir. İlk iki sütun, sırasıyla birinci ve ikinci dosyanın farklı satırlarını içerir. Son sütunda her iki dosyadaki aynı satırla bulunur. Bu komut, diff'e benzer işleve sahiptir
Sütunlar normalde <tab> karakteriyle ifade edilir. Eğer giriş dosyaları ayıraç karakteri ile başlayan satır içerirse, çıkış sütunu anlamsız ifadeler içerebilir.
Verimlilik için comm'un standart uygulaması, aynı satır harmanında sıralanması için her iki giriş dosyasını hariç tutar, sözcüksel olarak sıralar. Bu amaç için sort komutu kullanılabilir.
Döndürme kodu
diff komutunun aksine, comm'daki döndürme kodu'nun, iki dosya arasındaki ilişkiyle alakalı mantıksal bir anlamı yoktur. 0 döndürme kodu başarıyı temsil ederken >0 kodu da işlem esnasında bir hata meydana geldiğini ifade eder.
Örnek
foo dosyası:
apple banana eggplant
bar dosyası:
apple banana banana zucchini
comm foo bar komutu şöyle çıktı verir: apple banana banana eggplant zucchini
Bu çıktı her iki dosyada da 'apple' ve 'banana' olduğunu, fakat bar'da iki tane 'banana' olduğunu gösteriyor.
Daha fazla ayrıntıda, çıkış dosyası şöyle görünüme sahip olur. Sütunların tab karakterler ile ayrıldığına dikkat edin. \t bir tab karakteri, \n ise yeni bir satırı ifade eder (C programlama dilinde). Görülen boşluklar, çıkış dosyanının parçası değildir.
\t \t a p p l e \n \t \t b a n a n a \n \t b a n a n a \n e g g p l a n t \n \t z u c c h i n i \n
diff ile farklılıkları
Genellikle diff komutu comm'dan daha net sonuç verir. Daha basit olan comm daha çok betikler için kullanışlıdır.
comm ile diff arasındaki en önemli fark, comm'un satırlar hakkında sıralama önceliği sunmasıdır.
Ayrıca bakınız
- Unix programlarının listesi
- cut
- cut
Dış bağlantılar
- opengroup.org'daki comm komutu (İngilizce)
- Linux man page'deki comm(1) sayfası (İngilizce)
- comm için GNU projesi dokumantasyonu (İngilizce)
- comm için FreeBSD dokumantasyonu (İngilizce)
Kaynakça
İngilizce Wikipedia comm maddesi