Primeri ukazov sdiff v Linuxu za novince v Linuxu


V enem od prejšnjih člankov smo razložili približno 9 najboljših orodij za primerjavo datotek in razliko (Diff) za sisteme Linux. Našteli smo mešanico orodij ukazne vrstice in grafičnega vmesnika za primerjavo in iskanje razlik med datotekami, vsaka z določenimi izjemnimi lastnostmi. Drug uporaben pripomoček diff za Linux se imenuje sdiff.

sdiff je preprost pripomoček za ukazno vrstico za prikaz razlik med dvema datotekama in interaktivno združevanje. Je enostaven za uporabo in ima preproste možnosti uporabe, kot je razloženo spodaj.

Sintaksa za uporabo sdiff je naslednja.

$ sdiff option... file1 file2

Pokaži razliko med dvema datotekama v Linuxu

1. Sdiff najlažje zaženete tako, da navedete dve imeni datotek, ki jih poskušate primerjati. Združeno razliko bo prikazalo vzporedno, kot je prikazano na naslednjem posnetku zaslona.

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

Vse datoteke obravnavajte kot besedilne datoteke

2. Če želite vse datoteke obravnavati kot besedilo in jih primerjati po vrsticah, ne glede na to, ali gre za besedilne datoteke ali ne, uporabite zastavico -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	      <

Prezri zavihke in presledke

3. Če imate datoteke s preveč presledki, lahko sdiff-u naročite, naj prezre ves prazen prostor med primerjavo s stikalom -W .

$ sdiff -W du.txt cal.txt

4. Sdiffu lahko z možnostjo -z tudi naročite, naj prezre prazen prostor na koncu vrstice.

$ sdiff -z du.txt cal.txt

5. Poleg tega lahko sdiffu naročite, naj prezre spremembe zaradi razširitve zavihka z zastavico -E .

$ sdiff -E du.txt cal.txt

Ignoriraj velike črke in primerjaj razliko

6. Če želite prezreti velike in male črke (kjer sdiff obravnava velike in male črke kot enako), uporabite možnost -i , kot je prikazano.

$ sdiff -i du.txt cal.txt

Ignorirajte prazne vrstice med primerjanjem razlike

7. Možnost -B pomaga prezreti prazno vrstico v datotekah.

$ sdiff -B du.txt cal.txt

Določite število stolpcev za izhod

8. sdiff omogoča nastavitev števila stolpcev za tiskanje (privzeto je 130) s pomočjo stikala -w , kot sledi.

$ sdiff -w 150 du.txt cal.txt

Razširite zavihke v Spaces

9. Če želite razširiti zavihke na presledke v izhodu, uporabite možnost -t .

$ sdiff -t du.txt cal.txt

Zaženi sdiff interaktivno

10. Zastavica -o omogoča bolj interaktivno delovanje in pošiljanje izpisa v datoteko. V tem ukazu bo izhod poslan v datoteko sdiff.txt. Pritisnite Enter, ko vidite znak %, da odprete interaktivni meni.

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

Upoštevajte, da morate v tem scenariju pred uporabo v sistemu namestiti nekatere urejevalnike, kot je ed.

Pokličite drug program za primerjavo datotek

11. Stikalo --diff-program vam omogoča, da za primerjavo datotek pokličete na primer drugo orodje ukazne vrstice, ki ni samo sdiff, na primer lahko pokličete program diff, kot je prikazano.

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

Za več informacij obiščite stran sdiff man.

$ man sdiff

V tem članku smo pogledali primere orodij ukazne vrstice sdiff za začetnike. Če imate kakršna koli vprašanja, nas kontaktirajte s spodnjim obrazcem za komentar.