Linux sbiff Linux Newbies üçin buýruk mysallary


Öňki makalamyzyň birinde Linux ulgamlary üçin iň oňat 9 faýl deňeşdirme we tapawut (Diff) gurallaryny düşündiripdik. Faýllaryň arasyndaky tapawutlary deňeşdirmek we tapmak üçin buýruk setiri we GUI gurallarynyň garyndysyny sanadyk, hersinde belli bir aýratynlyklar bar. Linux üçin başga bir peýdaly diff peýdasyna sdiff diýilýär.

sdiff iki faýlyň arasyndaky tapawudy görkezmek we interaktiw birleşmek üçin ýönekeý buýruk setiridir. Ulanmak aňsat we aşakda düşündirilişi ýaly gönüden-göni ulanyş opsiýalary bilen gelýär.

Sdiff ulanmagyň sintaksisi aşakdaky ýaly.

$ sdiff option... file1 file2

Linux-da iki faýlyň arasyndaky tapawudy görkeziň

1. Sdiff-i işletmegiň iň aňsat usuly, deňeşdirjek bolýan iki faýl adyňyzy bermekdir. Aşakdaky skrinshotda görkezilişi ýaly birleşdirilen tapawudy gapma-garşy görkezer.

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

Fhli faýllara tekst faýllary hökmünde serediň

2. fileshli faýllara tekst hökmünde garamak we tekst faýllary bolsun ýa-da ýoklugy bilen deňeşdirmek üçin -a baýdagyny ulanyň.

$ 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	      <

Salgylara we ak giňişlige ähmiýet bermäň

3. Eger gaty giňişlikli faýllaryňyz bar bolsa, -W wyklýuçatelini deňeşdireniňizde sdiff-e ähli ak boşlugy äsgermezlik edip bilersiňiz.

$ sdiff -W du.txt cal.txt

4. Şeýle hem, sdiff-e -z opsiýasyny ulanyp, setiriň ahyrynda islendik ak boşlugy äsgermezlik edip bilersiňiz.

$ sdiff -z du.txt cal.txt

5. Mundan başga-da, sdiff-e -E baýdagy bilen goýmanyň giňelmegi sebäpli üýtgeşmeleri äsgermezlik etmegi tabşyryp bilersiňiz.

$ sdiff -E du.txt cal.txt

Tapawut deňeşdireniňde meselä ähmiýet berme

6. Kazyýet işine ähmiýet bermezlik üçin (sdiff uly we kiçi harplara meňzeýär), görkezilişi ýaly -i opsiýasyny ulanyň.

$ sdiff -i du.txt cal.txt

Tapawut deňeşdireniňde boş çyzyklara ähmiýet berme

7. -B opsiýasy faýllardaky boş setiri äsgermezlik etmäge kömek edýär.

$ sdiff -B du.txt cal.txt

Çykyş üçin sütünleriň sanyny kesgitläň

8. sdiff aşakdaky ýaly -w wyklýuçatelini ulanyp, çap edilmeli sütünleriň sanyny bellemäge mümkinçilik berýär (deslapky 130).

$ sdiff -w 150 du.txt cal.txt

Salgylary boşluklara giňeltmek

9. Salgylary çykýan boşluklara giňeltmek üçin -t opsiýasyny ulanyň.

$ sdiff -t du.txt cal.txt

Sdiff-i interaktiw işlediň

10. -o baýdagy has interaktiw işlemäge we faýla çykyş ibermäge mümkinçilik berýär. Bu buýrukda çykyş sdiff.txt faýlyna iberiler, interaktiw menýu almak üçin % belgisini görenden soň Enter basyň.

$ 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 ssenariýada ulanmazdan ozal ulgamyňyzda ed ýaly redaktorlaryň käbiriniň bolmalydygyny unutmaň.

Faýllary deňeşdirmek üçin başga bir programma çagyryň

11. --diff-program wyklýuçateli, faýllary deňeşdirmek üçin sdiff-den başga başga bir buýruk setir guralyna jaň etmäge mümkinçilik berýär, mysal üçin, diff programmasyny görkezilişi ýaly çagyryp bilersiňiz.

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

Has giňişleýin maglumat üçin sdiff adam sahypasyna serediň.

$ man sdiff

Bu makalada täze başlanlar üçin sdiff buýruk setiriniň gural mysallaryna göz aýladyk. Soraglaryňyz bar bolsa, bize ýetmek üçin aşakdaky düşündiriş formuny ulanyň.