Linux sdiff komandu piemēri Linux iesācējiem
Vienā no mūsu agrākajiem rakstiem mēs esam izskaidrojuši apmēram 9 labākos failu salīdzināšanas un atšķirības (Diff) rīkus Linux sistēmām. Mēs uzskaitījām komandrindas un GUI rīku sajaukumu, lai salīdzinātu un atrastu atšķirības starp failiem, katram no kuriem ir dažas ievērojamas funkcijas. Vēl vienu noderīgu diff lietderību Linux sauc par sdiff.
sdiff ir vienkārša komandrindas lietderība, lai parādītu atšķirības starp diviem failiem un apvienotos interaktīvi. To ir viegli lietot, un tam ir vienkāršas lietošanas iespējas, kā paskaidrots turpmāk.
Sdiff izmantošanas sintakse ir šāda.
$ sdiff option... file1 file2
Parādiet atšķirību starp diviem failiem Linux
1. Vieglākais veids, kā palaist sdiff, ir norādīt divus failu nosaukumus, kurus mēģināt salīdzināt. Tas parādīs apvienoto atšķirību blakus, kā parādīts nākamajā ekrānuzņēmumā.
$ cal >cal.txt $ df -h >du.txt $ sdiff du.txt cal.txt
Apstrādājiet visus failus kā teksta failus
2. Lai visus failus uzskatītu par tekstu un salīdzinātu tos pa rindām neatkarīgi no tā, vai tie ir teksta faili, izmantojiet karodziņu -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 <
Ignorējiet cilnes un atstarpi
3. Ja jums ir faili ar pārāk lielu atstarpi, varat pateikt sdiff ignorēt visu atstarpi, salīdzinot, izmantojot slēdzi -W
.
$ sdiff -W du.txt cal.txt
4. Varat arī pateikt sdiff, lai ignorētu jebkuru atstarpi līnijas beigās, izmantojot opciju -z
.
$ sdiff -z du.txt cal.txt
5. Turklāt jūs varat uzdot sdiff ignorēt izmaiņas cilnes paplašināšanas dēļ ar karodziņu -E
.
$ sdiff -E du.txt cal.txt
Ignorējiet gadījumu, salīdzinot atšķirību
6. Lai ignorētu reģistru (kur sdiff lielos un mazos burtus uzskata par vienādiem), izmantojiet opciju -i
, kā parādīts.
$ sdiff -i du.txt cal.txt
Ignorējiet tukšās līnijas, salīdzinot atšķirības
7. Opcija -B
palīdz ignorēt tukšo rindiņu failos.
$ sdiff -B du.txt cal.txt
Definējiet izvades kolonnu skaitu
8. sdiff ļauj iestatīt drukājamo kolonnu skaitu (noklusējums ir 130), izmantojot slēdzi -w
šādi.
$ sdiff -w 150 du.txt cal.txt
Izvērsiet cilnes līdz Spaces
9. Lai izvērstu cilnes izvades atstarpēs, izmantojiet opciju -t
.
$ sdiff -t du.txt cal.txt
Palaist sdiff interaktīvi
10. Karodziņš -o
ļauj tam darboties interaktīvāk un nosūtīt izvadi uz failu. Šajā komandā izvade tiks nosūtīta uz failu sdiff.txt, pēc %
zīmes redzēšanas nospiediet taustiņu Enter, lai iegūtu interaktīvo izvēlni.
$ 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.
%
Ņemiet vērā, ka šajā scenārijā daži redaktori, piemēram, ed, ir jāinstalē sistēmā.
Lai salīdzinātu failus, izsauciet citu programmu
11. Slēdzis --diff-program
ļauj izsaukt citu komandrindas rīku, nevis pašu sdiff, lai salīdzinātu failus, piemēram, varat izsaukt diff programmu, kā parādīts attēlā.
$ sdiff --diff-program=diff du.txt cal.txt
Lai iegūtu vairāk informācijas, apmeklējiet sdiff man lapu.
$ man sdiff
Šajā rakstā mēs apskatījām sdiff komandrindas rīku piemērus iesācējiem. Ja jums ir kādi jautājumi, izmantojiet zemāk esošo komentāru veidlapu, lai sazinātos ar mums.