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.