Primjeri Linux sdiff naredbi za početnike u Linuxu


U jednom od naših ranijih članaka, objasnili smo oko 9 najboljih alata za poređenje datoteka i razlika (Diff) za Linux sisteme. Naveli smo mješavinu alata komandne linije i GUI alata za poređenje i pronalaženje razlika između datoteka, od kojih svaka ima određene izvanredne karakteristike. Još jedan koristan diff uslužni program za Linux zove se sdiff.

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

sdiff je jednostavan uslužni program komandne linije za prikazivanje razlika između dva fajla 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 za pokretanje sdiff je da navedete dva imena fajlova koja pokušavate da uporedite. Prikazaće spojenu razliku uporedo kao što je prikazano na sledećem snimku ekrana.


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

Tretirajte sve datoteke kao tekstualne datoteke

2. Da biste tretirali sve datoteke kao tekst i uporedili ih red po red, bilo da su tekstualni fajlovi 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	      <

Zanemarite kartice i razmak

3. Ako imate datoteke sa previše razmaka, možete reći sdiff da zanemari sav razmak dok upoređujete koristeći prekidač -W.

sdiff -W du.txt cal.txt

4. Također možete reći sdiff da zanemari bilo koji razmak na kraju reda koristeći opciju -z.

sdiff -z du.txt cal.txt

5. Osim toga, možete uputiti sdiff da ignoriše promjene zbog proširenja kartice sa -E zastavicom.

sdiff -E du.txt cal.txt

Zanemarite velika i mala slova dok upoređujete razliku

6. Da zanemarite velika i mala slova (gdje sdiff tretira velika i mala slova kao ista), koristite opciju -i kao što je prikazano.

sdiff -i du.txt cal.txt

Zanemarite prazne linije dok upoređujete razliku

7. Opcija -B pomaže da se zanemari prazan red u fajlovima.

sdiff -B du.txt cal.txt

Definirajte broj kolona za izlaz

8. sdiff vam omogućava da postavite broj kolona za štampanje (podrazumevano je 130), koristeći -w prebacite na sljedeći način.

sdiff -w 150 du.txt cal.txt

Proširite kartice u razmake

9. Da proširite tabove na razmake u izlazu, koristite opciju -t.

sdiff -t du.txt cal.txt

Interaktivno pokrenite sdiff

10. Oznaka -o mu omogućava da radi interaktivnije i šalje izlaz u datoteku. U ovoj naredbi, izlaz će biti poslan u datoteku sdiff.txt, pritisnite Enter nakon što vidite znak %, da dobijete 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.
%

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

Pozovite drugi program za upoređivanje datoteka

11. Prekidač --diff-program vam omogućava da pozovete drugi alat iz komandne linije, osim samog sdiff za upoređivanje datoteka, na primjer , možete pozvati program diff kao što je prikazano.

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

Za više informacija, konsultujte sdiff man stranicu.

man sdiff

U ovom članku smo pogledali sdiff primjere alata za naredbene linije za početnike. Ako imate bilo kakvih pitanja, koristite formular za komentare ispod da nas kontaktirate.