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ň.