Comm

Ubuntu Türkiye Wiki sitesinden
22.03, 28 Ocak 2015 tarihinde Hatas (mesaj | katkılar) tarafından oluşturulmuş 19901 numaralı sürüm
(fark) ← Önceki sürüm | Güncel sürüm (fark) | Sonraki sürüm → (fark)
Gezinti kısmına atla Arama kısmına atla

comm, Unix işletim sistemlerinde bir komuttur. İki dosyadaki aynı ve farklı olan satırları karşılaştırmak için kullanılır. comm, POSIX standartında belirlenir. 1980'lerin ortalarına kadar Unix benzeri işletim sistemlerinde yoğun olarak kullanılıyordu.

Kullanımı

comm iki dosyayı girdi olarak ve metin 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, 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 söyler.

Örnek

esat dosyasının içeriği:

Dosya İçeriği
Dosya yolu:/ev/kullanıcıadı/esat

apple
banana
eggplant


yusuf dosyasının içeriği:

Dosya İçeriği
Dosya yolu:/ev/kullanıcıadı/yusuf

apple
banana
banana
zucchini


Görevi: İki dosyayı karşılaştırır
comm esat yusuf

komutu şöyle çıktı verir:

                   apple
                   banana
           banana
 eggplant
           zucchini

Bu çıktı her iki dosyada da 'apple' ve 'banana' olduğunu, fakat yusuf'ta 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.

Dosya İçeriği
Dosya yolu:/ev/kullanıcıadı/yeni

\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


Comparison to diff

Genellikle diff komut 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

Dış bağlantılar

Kaynakça

Unix komutları (daha fazla)
Dosya dizgesi catcdchmodchgrpchowncksumcmp cpdddudf fsckfuserlnlslsattrlsofmkdirmountmvpwdrm rmdirsplittouchumask
Süreç ve görev yönetimi atchrootcroncrontabexitkillkillallnicepgreppidofpkillpspstreesleeptimetopwait
Kullanıcı ortamı envfingeridlognamemesgpasswdsusudouptimewwallwhowhoamiwrite
Metin işleme awkcommcsplitcutdiffedexfmtheadiconvjoinlessmorepastesedsortstringstailtalktruniqvivimwcxargs
Kabuk programlama aliasbasenamedirnameechoexprfalseprintftesttrueunset
Ağ Araçları inetdhostifconfignetcatnetstatnslookuppingrlogintraceroute
Arama findgreplocatewhereiswhich
Diğer aproposbannerbccalcleardateddfilehelphistoryinfolplprmanpaxsizeteetputtypeunamewhatisyes