Mifano ya Amri ya Linux sdiff kwa Wanaopya wa Linux


Katika mojawapo ya makala yetu ya awali, tumeelezea kuhusu zana 9 bora za kulinganisha faili na tofauti (Diff) kwa mifumo ya Linux. Tuliorodhesha mchanganyiko wa safu ya amri na zana za GUI za kulinganisha na kutafuta tofauti kati ya faili, kila moja ikiwa na sifa fulani za kushangaza. Huduma nyingine muhimu ya tofauti kwa Linux inaitwa sdiff.

sdiff ni matumizi rahisi ya safu ya amri ya kuonyesha tofauti kati ya faili mbili na kuunganisha kwa maingiliano. Ni rahisi kutumia na inakuja na chaguzi za matumizi moja kwa moja kama ilivyoelezewa hapa chini.

Syntax ya kutumia sdiff ni kama ifuatavyo.

$ sdiff option... file1 file2

Onyesha Tofauti Kati ya Faili Mbili kwenye Linux

1. Njia rahisi ya kuendesha sdiff ni kutoa majina mawili ya faili unayojaribu kulinganisha. Itaonyesha tofauti iliyounganishwa ubavu kwa upande kama inavyoonyeshwa kwenye picha ya skrini ifuatayo.

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

Tumia Faili zote kama Faili za Maandishi

2. Ili kuchukulia faili zote kama maandishi na kuzilinganisha mstari kwa mstari, iwe ni faili za maandishi au la, tumia alama ya -a.

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

Puuza Tabo na Nafasi Nyeupe

3. Ikiwa una faili zilizo na nafasi nyeupe nyingi, unaweza kuwaambia sdiff kupuuza nafasi yote nyeupe huku ukilinganisha kwa kutumia swichi ya -W.

$ sdiff -W du.txt cal.txt

4. Unaweza pia kumwambia sdiff kupuuza nafasi yoyote nyeupe mwishoni mwa mstari kwa kutumia chaguo la -z.

$ sdiff -z du.txt cal.txt

5. Kwa kuongeza, unaweza kuagiza sdiff kupuuza mabadiliko kutokana na upanuzi wa kichupo kwa -E bendera.

$ sdiff -E du.txt cal.txt

Puuza Kesi Wakati Unalinganisha Tofauti

6. Ili kupuuza herufi (ambapo sdiff inashughulikia herufi kubwa na ndogo kama sawa), tumia chaguo la -i kama inavyoonyeshwa.

$ sdiff -i du.txt cal.txt

Puuza Mistari Tupu Wakati Unalinganisha Tofauti

7. Chaguo la -B husaidia kupuuza laini tupu katika faili.

$ sdiff -B du.txt cal.txt

Bainisha Idadi ya Safu za Kutoa

8. sdiff hukuruhusu kuweka idadi ya safu wima zitakazochapishwa (chaguo-msingi ni 130), kwa kutumia swichi ya -w kama ifuatavyo.

$ sdiff -w 150 du.txt cal.txt

Panua Vichupo hadi kwenye Nafasi

9. Ili kupanua vichupo hadi kwa nafasi zinazotolewa, tumia chaguo la -t.

$ sdiff -t du.txt cal.txt

Endesha sdiff kwa Maingiliano

10. Alama ya -o huiwezesha kufanya kazi kwa maingiliano zaidi na kutuma matokeo kwa faili. Katika amri hii, matokeo yatatumwa kwa faili ya sdiff.txt, bonyeza Enter baada ya kuona alama ya %, ili kupata menyu ingiliani.

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

Kumbuka kwamba unahitaji kuwa na baadhi ya vihariri kama vile ed kusakinishwa kwenye mfumo wako kabla ya kuvitumia, katika hali hii.

Omba Programu Nyingine Ili Kulinganisha Faili

11. Swichi ya --diff-program hukuruhusu kuita zana nyingine ya mstari amri, zaidi ya sdiff yenyewe ili kulinganisha faili, kwa mfano, unaweza kuita diff program kama inavyoonyeshwa.

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

Kwa habari zaidi, wasiliana na ukurasa wa sdiff man.

$ man sdiff

Katika nakala hii, tuliangalia mifano ya zana ya mstari wa amri ya sdiff kwa Kompyuta. Ikiwa una maswali yoyote, tumia fomu ya maoni hapa chini ili kuwasiliana nasi.