Primjeri Linux sdiff naredbe za početnike u Linuxu


U jednom od naših ranijih članaka objasnili smo oko 9 najboljih alata za usporedbu i razliku datoteka (Diff) za Linux sustave. Naveli smo mješavinu alata naredbenog retka i GUI alata za usporedbu i pronalaženje razlika između datoteka, od kojih svaka ima određene značajke. Još jedan koristan diff uslužni program za Linux zove se sdiff.

Pročitajte također: Kako pronaći razliku između dva direktorija pomoću alata Diff i Meld

sdiff je jednostavan uslužni program naredbenog retka za prikazivanje razlika između dvije datoteke i interaktivno spajanje. Jednostavan je za korištenje i dolazi s jednostavnim opcijama korištenja kao što je objašnjeno u nastavku.

Sintaksa za korištenje sdiff je sljedeća.

sdiff option... file1 file2

Pokažite razliku između dvije datoteke u Linuxu

1. Najlakši način da pokrenete sdiff je da navedete dva naziva datoteka koje pokušavate usporediti. Prikazat će spojenu razliku jednu do druge kao što je prikazano na sljedećoj snimci zaslona.


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

Tretirajte sve datoteke kao tekstualne datoteke

2. Za tretiranje svih datoteka kao tekstualnih i usporedbu redak po redak, bez obzira jesu li tekstualne datoteke ili ne, koristite oznaku -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	      <

Ignorirajte kartice i razmak

3. Ako imate datoteke s previše razmaka, možete reći sdiff da zanemari sav bijeli prostor tijekom usporedbe pomoću prekidača -W.

sdiff -W du.txt cal.txt

4. Također možete reći sdiff da zanemari svaki razmak na kraju retka pomoću opcije -z.

sdiff -z du.txt cal.txt

5. Osim toga, možete uputiti sdiff da zanemari promjene zbog proširenja kartice s oznakom -E.

sdiff -E du.txt cal.txt

Zanemari velika i mala slova dok uspoređuješ razlike

6. Za zanemarivanje velikih i malih slova (gdje sdiff tretira velika i mala slova kao isto), upotrijebite opciju -i kao što je prikazano.

sdiff -i du.txt cal.txt

Zanemari prazne retke dok uspoređuješ razlike

7. Opcija -B pomaže zanemariti prazne retke u datotekama.

sdiff -B du.txt cal.txt

Definirajte broj stupaca za izlaz

8. sdiff vam omogućuje da postavite broj stupaca za ispis (zadano je 130), korištenjem -w prebacite na sljedeći način.

sdiff -w 150 du.txt cal.txt

Proširite kartice u razmake

9. Da biste proširili kartice na razmake u izlazu, koristite opciju -t.

sdiff -t du.txt cal.txt

Pokrenite sdiff interaktivno

10. Oznaka -o omogućuje interaktivnije pokretanje i slanje izlaza u datoteku. U ovoj naredbi, izlaz će biti poslan u datoteku sdiff.txt, pritisnite Enter nakon što vidite % znak, da dobijete interaktivni izbornik .

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

Imajte na umu da trebate imati neke od uređivača kao što je ed instaliran na vašem sustavu prije nego što ih koristite, u ovom scenariju.

Pozovite drugi program za usporedbu datoteka

11. Prekidač --diff-program omogućuje vam pozivanje drugog alata naredbenog retka, osim samog sdiff, za usporedbu datoteka, na primjer , možete pozvati program diff kao što je prikazano.

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

Za više informacija, pogledajte sdiff man stranicu.

man sdiff

U ovom smo članku pogledali primjere alata naredbenog retka sdiff za početnike. Ako imate pitanja, upotrijebite obrazac za komentare u nastavku da biste nas kontaktirali.