Linuxi algajate käskude sdiff Linux sdiff näited


Ühes oma varasemas artiklis oleme selgitanud umbes 9 parimat Linuxi süsteemide failide võrdlemise ja erinevuse (Diff) tööriista. Lisasime käsurea ja graafilise kasutajaliidese tööriistade segu failide vaheliste erinevuste võrdlemiseks ja leidmiseks, millel kõigil on teatud märkimisväärsed omadused. Teine kasulik diffi utiliit Linuxi jaoks on sdiff.

sdiff on lihtne käsurea utiliit kahe faili erinevuste kuvamiseks ja interaktiivseks ühendamiseks. Seda on lihtne kasutada ja sellega kaasnevad lihtsad kasutusvalikud, nagu allpool selgitatud.

Sdiffi kasutamise süntaks on järgmine.

$ sdiff option... file1 file2

Näita kahe faili erinevust Linuxis

1. Lihtsaim viis sdiffi käivitamiseks on anda kaks võrreldavat failinime. See näitab ühinenud erinevust kõrvuti, nagu on näidatud järgmisel ekraanipildil.

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

Käsitlege kõiki faile tekstifailidena

2. Kõigi failide käsitlemiseks tekstina ja nende ridade kaupa võrdlemiseks, olgu need siis tekstifailid või mitte, kasutage lippu -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	      <

Eirake vahelehti ja tühikut

3. Kui teil on liiga suure tühimikuga faile, võite sdiffil öelda, et lüliti -W abil võrreldakse kogu tühimikku.

$ sdiff -W du.txt cal.txt

4. Samuti saate käsku sdiff, et ignoreeriks kõiki tühikuid rea lõpus, kasutades valikut -z .

$ sdiff -z du.txt cal.txt

5. Lisaks saate sdiffil käsu lipu -E abil laienduste laiendamisest tingitud muudatusi eirata.

$ sdiff -E du.txt cal.txt

Eirake juhtumit erinevuste võrdlemisel

6. Suurte ja väikeste tähtede eiramiseks (kus sdiff käsitleb suuri ja väikesi tähti samana) kasutage valikut -i , nagu näidatud.

$ sdiff -i du.txt cal.txt

Eirake tühje ridu, võrreldes erinevusi

7. Valik -B aitab failides tühja rida eirata.

$ sdiff -B du.txt cal.txt

Määrake väljastatavate veergude arv

8. sdiff võimaldab teil määrata prinditavate veergude arvu (vaikimisi on 130), kasutades lülitit -w järgmiselt.

$ sdiff -w 150 du.txt cal.txt

Laiendage vahelehed suvandile Spaces

9. Vahelehtede laiendamiseks väljundi tühikutele kasutage valikut -t .

$ sdiff -t du.txt cal.txt

Käivitage interaktiivselt sdiff

10. Lipp -o võimaldab tal interaktiivsemalt töötada ja väljundi faili saata. Selles käsus saadetakse väljund faili sdiff.txt, interaktiivse menüü saamiseks vajutage sisestusklahvi % nägemise järel.

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

Pange tähele, et selle stsenaariumi korral peate enne nende kasutamist oma süsteemi installima mõned redaktorid, näiteks ed.

Failide võrdlemiseks kutsuge veel üks programm

11. Lüliti --diff-program võimaldab failide võrdlemiseks helistada mõnele muule käsurea tööriistale, välja arvatud sdiff ise, näiteks võite helistada programmile diff nagu näidatud.

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

Lisateavet leiate sdiffi manulehelt.

$ man sdiff

Selles artiklis vaatasime algajatele mõeldud käsurea tööriista sdiff näiteid. Kui teil on küsimusi, kasutage meiega ühendust saamiseks allolevat kommentaarivormi.