Linux sdiff Kommando Beispiller fir Linux Newbies


An engem vun eise fréieren Artikelen hu mir iwwer 9 bescht Dateiverglach an Ënnerscheed (Diff) Tools fir Linux Systemer erkläert. Mir hunn eng Mëschung aus Kommandozeilen a GUI Tools opgelëscht fir Differenzen tëscht Dateien ze vergläichen an ze fannen, jidderee mat bestëmmte bemierkenswäerte Features. En anert nëtzlecht Diff Utility fir Linux gëtt sdiff genannt.

sdiff ass en einfachen Kommandozeil-Utility fir d'Ënnerscheeder tëscht zwee Dateien ze weisen an interaktiv ze fusionéieren. Et ass einfach ze benotzen a kënnt mat einfache Benotzungsoptioune wéi hei ënnen erkläert.

D'Syntax fir sdiff ze benotzen ass wéi follegt.

$ sdiff option... file1 file2

Weist den Ënnerscheed tëscht zwee Dateien am Linux

1. Deen einfachste Wee fir sdiff ze lafen ass déi zwee Dateinumm déi Dir probéiert ze vergläichen. Et wäert de fusionéierten Ënnerscheed niewentenee weisen wéi am folgende Screenshot gewisen.

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

Behandelt all Dateien als Textdateien

2. Fir all Dateien als Text ze behandelen an se Zeil fir Zeil ze vergläichen, egal ob et Textdateien sinn oder net, benotzt de -a Fändel.

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

Ignoréieren Tabs a White Space

3. Wann Dir Dateien mat ze vill Whitespace hutt, kënnt Dir sdiff soen fir all Wäissraum ze ignoréieren wärend Dir mam -W Schalter vergläicht.

$ sdiff -W du.txt cal.txt

4. Dir kënnt och sdiff soen all wäiss Plaz um Enn vun der Linn ze ignoréieren mat der -z Optioun.

$ sdiff -z du.txt cal.txt

5. Zousätzlech kënnt Dir sdiff instruéieren Ännerungen ze ignoréieren wéinst Tab Expansioun mam -E Fändel.

$ sdiff -E du.txt cal.txt

Ignoréieren de Fall beim Verglach vum Ënnerscheed

6. Fir de Fall ze ignoréieren (wou sdiff d'Uewer- an d'Klengstéck als d'selwecht behandelt), benotzt d'Optioun -i wéi gewisen.

$ sdiff -i du.txt cal.txt

Ignoréieren eidel Linnen beim Verglach vum Ënnerscheed

7. D'Optioun -B hëlleft fir eidel Zeil an Dateien ze ignoréieren.

$ sdiff -B du.txt cal.txt

Definéieren Zuel vu Spalten zu Output

8. sdiff erlaabt Iech d'Zuel vun de Spalten ze setzen déi gedréckt ginn (Standard ass 130), andeems Dir de -w Schalter wéi follegt benotzt.

$ sdiff -w 150 du.txt cal.txt

Erweidert Tabs op Spaces

9. Fir d'Tabs op Plazen am Ausgang auszebauen, benotzt d'Optioun -t.

$ sdiff -t du.txt cal.txt

Run sdiff interaktiv

10. De -o Fändel erlaabt et méi interaktiv ze lafen an d'Ausgab an eng Datei ze schécken. An dësem Kommando gëtt d'Ausgab an d'sdiff.txt Datei geschéckt, dréckt Enter nodeems Dir de % Zeechen gesinn, fir den interaktiven Menü ze kréien.

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

Notéiert datt Dir e puer vun den Redaktoren wéi ed op Ärem System installéiert musst ier Dir se benotzt, an dësem Szenario.

En anere Programm opruffen fir Dateien ze vergläichen

11. De --diff-program-Schalter erlaabt Iech en anert Kommandozeil-Tool ze ruffen, anescht wéi sdiff selwer fir Dateien ze vergläichen, zum Beispill, Dir kënnt den Diff-Programm nennen wéi gewisen.

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

Fir méi Informatioun, kuckt d'sdiff Man Säit.

$ man sdiff

An dësem Artikel hu mir sdiff Kommandozeil Tool Beispiller fir Ufänger gekuckt. Wann Dir Froen hutt, benotzt de Kommentarformular hei ënnen fir eis z'erreechen.