Linux'a Yeni Başlayanlar için Linux sdiff Komut Örnekleri


Daha önceki yazılarımızdan birinde, Linux sistemleri için en iyi 9 dosya karşılaştırma ve fark (Diff) aracını anlatmıştık. Dosyaları karşılaştırmak ve aralarındaki farkları bulmak için her biri belirli dikkat çekici özelliklere sahip olan komut satırı ve GUI araçlarının bir karışımını listeledik. Linux için bir başka kullanışlı diff yardımcı programına sdiff adı verilir.

Ayrıca Okuyun: Diff ve Meld Araçlarını Kullanarak İki Dizin Arasındaki Farkı Bulma

sdiff, iki dosya arasındaki farkları göstermeye ve etkileşimli olarak birleştirmeye yönelik basit bir komut satırı yardımcı programıdır. Kullanımı kolaydır ve aşağıda açıklandığı gibi basit kullanım seçenekleriyle birlikte gelir.

sdiff kullanımının sözdizimi aşağıdaki gibidir.

sdiff option... file1 file2

Linux'ta İki Dosya Arasındaki Farkı Göster

1. sdiff'i çalıştırmanın en kolay yolu, karşılaştırmaya çalıştığınız iki dosya adını sağlamaktır. Aşağıdaki ekran görüntüsünde gösterildiği gibi birleştirilmiş farkı yan yana gösterecektir.


cal >cal.txt
df -h >du.txt
sdiff du.txt cal.txt

Tüm Dosyalara Metin Dosyası Olarak Davran

2. Tüm dosyaları metin olarak ele almak ve bunları metin dosyaları olsun veya olmasın satır satır karşılaştırmak için -a işaretini kullanın.

sdiff -a du.txt cal.txt

Filesystem      Size  Used Avail Use% Mounted on	      |	     April 2018       
udev            3.9G     0  3.9G   0% /dev		      |	Su Mo Tu We Th Fr Sa  
tmpfs           788M  9.7M  779M   2% /run		      |	 1  2  3  4  5  6  7  
/dev/sda10      324G  265G   43G  87% /			      |	 8  9 10 11 12 13 14  
tmpfs           3.9G  274M  3.6G   7% /dev/shm		      |	15 16 17 18 19 20 21  
tmpfs           5.0M  4.0K  5.0M   1% /run/lock		      |	22 23 24 25 26 27 28  
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup	      |	29 30                 
/dev/loop2       82M   82M     0 100% /snap/core/4206	      |	                      
/dev/loop4      181M  181M     0 100% /snap/vlc/190	      <
/dev/loop1       87M   87M     0 100% /snap/core/4407	      <
/dev/loop0      189M  189M     0 100% /snap/vlc/158	      <
/dev/loop3       83M   83M     0 100% /snap/core/4327	      <
cgmfs           100K     0  100K   0% /run/cgmanager/fs	      <
tmpfs           788M   40K  788M   1% /run/user/1000	      <

Sekmeleri ve Beyaz Boşlukları Yoksay

3. Çok fazla boşluk içeren dosyalarınız varsa, -W anahtarını kullanarak sdiff'e karşılaştırma sırasında tüm boşlukları yok saymasını söyleyebilirsiniz.

sdiff -W du.txt cal.txt

4. Ayrıca -z seçeneğini kullanarak sdiff'e satır sonundaki boşlukları yok saymasını da söyleyebilirsiniz.

sdiff -z du.txt cal.txt

5. Ayrıca sdiff'e -E işaretiyle sekme genişletmeden kaynaklanan değişiklikleri yok sayması talimatını verebilirsiniz.

sdiff -E du.txt cal.txt

Farkı Karşılaştırırken Büyük/Küçük Harfleri Yoksay

6. Büyük/küçük harfi göz ardı etmek için (burada sdiff büyük ve küçük harfleri aynı şekilde ele alır), gösterildiği gibi -i seçeneğini kullanın.

sdiff -i du.txt cal.txt

Farkı Karşılaştırırken Boş Satırları Yoksay

7. -B seçeneği, dosyalardaki boş satırların yok sayılmasına yardımcı olur.

sdiff -B du.txt cal.txt

Çıktıya Alınacak Sütun Sayısını Tanımlayın

8. sdiff, -w< komutunu kullanarak yazdırılacak sütun sayısını ayarlamanıza olanak tanır (varsayılan 130'dur). aşağıdaki gibi değiştirin.

sdiff -w 150 du.txt cal.txt

Sekmeleri Uzaylara Genişletin

9. Sekmeleri çıktıdaki boşluklara genişletmek için -t seçeneğini kullanın.

sdiff -t du.txt cal.txt

sdiff'i Etkileşimli Olarak Çalıştır

10. -o bayrağı, daha etkileşimli çalışmasını ve çıktıyı bir dosyaya göndermesini sağlar. Bu komutta çıktı sdiff.txt dosyasına gönderilecektir, etkileşimli menüye ulaşmak için % işaretini gördükten sonra Enter tuşuna basın .

sdiff du.txt cal.txt -o sdiff.txt

Filesystem      Size  Used Avail Use% Mounted on	      |	     April 2018       
udev            3.9G     0  3.9G   0% /dev		      |	Su Mo Tu We Th Fr Sa  
tmpfs           788M  9.7M  779M   2% /run		      |	 1  2  3  4  5  6  7  
/dev/sda10      324G  265G   43G  87% /			      |	 8  9 10 11 12 13 14  
tmpfs           3.9G  274M  3.6G   7% /dev/shm		      |	15 16 17 18 19 20 21  
tmpfs           5.0M  4.0K  5.0M   1% /run/lock		      |	22 23 24 25 26 27 28  
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup	      |	29 30                 
/dev/loop2       82M   82M     0 100% /snap/core/4206	      |	                      
/dev/loop4      181M  181M     0 100% /snap/vlc/190	      <
/dev/loop1       87M   87M     0 100% /snap/core/4407	      <
/dev/loop0      189M  189M     0 100% /snap/vlc/158	      <
/dev/loop3       83M   83M     0 100% /snap/core/4327	      <
cgmfs           100K     0  100K   0% /run/cgmanager/fs	      <
tmpfs           788M   40K  788M   1% /run/user/1000	      <
% 
ed:	Edit then use both versions, each decorated with a header.
eb:	Edit then use both versions.
el or e1:	Edit then use the left version.
er or e2:	Edit then use the right version.
e:	Discard both versions then edit a new one.
l or 1:	Use the left version.
r or 2:	Use the right version.
s:	Silently include common lines.
v:	Verbosely include common lines.
q:	Quit.
%

Bu senaryoda, ed gibi düzenleyicilerden bazılarını kullanmadan önce sisteminizde yüklü olması gerektiğini unutmayın.

Dosyaları Karşılaştırmak İçin Başka Bir Programı Çağırın

11. --diff-program anahtarı, örneğin dosyaları karşılaştırmak için sdiff'in kendisi dışında başka bir komut satırı aracını çağırmanıza olanak tanır. diff programını gösterildiği gibi çağırabilirsiniz.

sdiff --diff-program=diff du.txt cal.txt

Daha fazla bilgi için sdiff man sayfasına bakın.

man sdiff

Bu makalede yeni başlayanlar için sdiff komut satırı aracı örneklerine baktık. Sorularınız varsa aşağıdaki yorum formunu kullanarak bize ulaşabilirsiniz.