Mga Ehemplo sa Linux sdiff Command alang sa Linux Newbies
Sa usa sa among naunang artikulo, gipasabut namo ang mahitungod sa 9 nga labing maayo nga pagtandi sa file ug kalainan (Diff) nga mga himan alang sa mga sistema sa Linux. Gilista namo ang usa ka sinagol nga command-line ug GUI nga mga himan alang sa pagtandi ug pagpangita sa mga kalainan tali sa mga file, ang matag usa adunay pipila ka talagsaon nga mga bahin. Ang laing mapuslanon nga diff utility alang sa Linux gitawag nga sdiff.
Ang sdiff usa ka yano nga command line utility alang sa pagpakita sa mga kalainan tali sa duha ka mga file ug paghiusa nga interactive. Sayon kini gamiton ug adunay mga kapilian nga yano nga paggamit sama sa gipatin-aw sa ubos.
Ang syntax sa paggamit sa sdiff mao ang mosunod.
$ sdiff option... file1 file2
Ipakita ang Kalainan Tali sa Duha ka mga File sa Linux
1. Ang pinakasayon nga paagi sa pagpadagan sa sdiff mao ang paghatag sa duha ka filename nga imong gisulayan itandi. Kini magpakita sa merged difference side-by-side sama sa gipakita sa mosunod nga screenshot.
$ cal >cal.txt $ df -h >du.txt $ sdiff du.txt cal.txt
Tagda ang tanang Files isip Text Files
2. Aron itratar ang tanang file isip text ug itandi kini sa linya-by-line, text file man o dili, gamita ang -a
flag.
$ 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 <
Ibaliwala ang mga Tab ug White Space
3. Kung naa kay mga file nga daghan kaayog whitespace, pwede nimo sultihan si sdiff nga ibaliwala ang tanang white space samtang ikumpara gamit ang -W
switch.
$ sdiff -W du.txt cal.txt
4. Mahimo usab nimo sultihan si sdiff nga ibaliwala ang bisan unsang puti nga espasyo sa katapusan sa linya gamit ang opsyon nga -z
.
$ sdiff -z du.txt cal.txt
5. Dugang pa, mahimo nimong tudloan ang sdiff nga ibaliwala ang mga pagbag-o tungod sa pagpalapad sa tab gamit ang bandila nga -E
.
$ sdiff -E du.txt cal.txt
Ibaliwala ang Kaso Samtang Pagtandi sa Kalainan
6. Aron ibaliwala ang case (diin ang sdiff nagtratar sa upper-ug lower-case nga pareho), gamita ang -i
option sama sa gipakita.
$ sdiff -i du.txt cal.txt
Ibaliwala ang mga Blangko nga Linya Samtang Pagtandi sa Kalainan
7. Ang -B
nga opsyon makatabang sa pagbaliwala sa blangko nga linya sa mga file.
$ sdiff -B du.txt cal.txt
Tinoa ang Gidaghanon sa mga Kolum sa Output
8. sdiff nagtugot kanimo sa pagtakda sa gidaghanon sa mga kolum nga i-imprinta (default mao ang 130), pinaagi sa paggamit sa -w
switch sama sa mosunod.
$ sdiff -w 150 du.txt cal.txt
Pagpalapad sa mga Tab ngadto sa mga Space
9. Sa pagpalapad sa mga tab ngadto sa mga espasyo sa output, gamita ang -t
nga opsyon.
$ sdiff -t du.txt cal.txt
Pagdalagan sdiff Interactively
10. Ang -o
nga bandila makapahimo niini sa pagdagan nga mas interactive ug ipadala ang output ngadto sa usa ka file. Niini nga sugo, ang output ipadala ngadto sa sdiff.txt file, pindota ang Enter human makita ang %
sign, aron makuha ang interactive nga menu.
$ 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.
%
Timan-i nga kinahanglan nimo nga adunay pipila ka mga editor sama sa ed nga na-install sa imong sistema sa dili pa kini gamiton, sa kini nga senaryo.
Pagtawag ug Lain nga Programa Aron Pagtandi sa mga File
11. Ang --diff-program
switch nagtugot kanimo sa pagtawag sa laing command-line tool, gawas sa sdiff mismo aron itandi ang mga file, pananglitan, mahimo nimong tawagan ang diff program sama sa gipakita.
$ sdiff --diff-program=diff du.txt cal.txt
Para sa dugang nga impormasyon, konsultaha ang sdiff man page.
$ man sdiff
Niini nga artikulo, among gitan-aw ang sdiff command-line tool nga mga pananglitan alang sa mga nagsugod. Kung naa kay pangutana, gamita ang comment form sa ubos para maabot mi.