Linux sdiff Kommandoeksempler for Linux-nybegynnere
I en av våre tidligere artikler har vi forklart om 9 beste filsammenlignings- og forskjellsverktøy (Diff) for Linux-systemer. Vi listet opp en blanding av kommandolinje- og GUI-verktøy for å sammenligne og finne forskjeller mellom filer, hver med visse bemerkelsesverdige funksjoner. Et annet nyttig diff-verktøy for Linux heter sdiff.
Les også: Hvordan finne forskjellen mellom to kataloger ved hjelp av Diff- og Meld-verktøy
sdiff er et enkelt kommandolinjeverktøy for å vise forskjellene mellom to filer og slå sammen interaktivt. Den er enkel å bruke og kommer med enkle bruksalternativer som forklart nedenfor.
Syntaksen for å bruke sdiff er som følger.
sdiff option... file1 file2
Vis forskjellen mellom to filer i Linux
1. Den enkleste måten å kjøre sdiff på er å oppgi de to filnavnene du prøver å sammenligne. Den vil vise den sammenslåtte forskjellen side ved side som vist i følgende skjermbilde.
cal >cal.txt
df -h >du.txt
sdiff du.txt cal.txt
Behandle alle filer som tekstfiler
2. For å behandle alle filer som tekst og sammenligne dem linje for linje, enten de er tekstfiler eller ikke, bruk -a
-flagget.
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 <
Ignorer faner og mellomrom
3. Hvis du har filer med for mye mellomrom, kan du be sdiff om å ignorere alt mellomrom mens du sammenligner med -W
-bryteren.
sdiff -W du.txt cal.txt
4. Du kan også be sdiff om å ignorere et mellomrom ved linjeenden ved å bruke -z
-alternativet.
sdiff -z du.txt cal.txt
5. I tillegg kan du instruere sdiff til å ignorere endringer på grunn av faneutvidelse med -E
-flagget.
sdiff -E du.txt cal.txt
Ignorer store og små bokstaver mens du sammenligner forskjell
6. For å ignorere store og små bokstaver (der sdiff behandler store og små bokstaver som det samme), bruk -i
-alternativet som vist.
sdiff -i du.txt cal.txt
Ignorer tomme linjer mens du sammenligner forskjeller
7. Alternativet -B
hjelper deg med å ignorere blank linje i filer.
sdiff -B du.txt cal.txt
Definer antall kolonner som skal skrives ut
8. sdiff lar deg angi antall kolonner som skal skrives ut (standard er 130), ved å bruke -w
bytte som følger.
sdiff -w 150 du.txt cal.txt
Utvid Tabs til Spaces
9. For å utvide faner til mellomrom i utdata, bruk -t
-alternativet.
sdiff -t du.txt cal.txt
Kjør sdiff interaktivt
10. -o
-flagget gjør det mulig å kjøre mer interaktivt og sende utdata til en fil. I denne kommandoen vil utdata bli sendt til sdiff.txt-filen, trykk Enter etter å ha sett %
-tegnet for å få den interaktive menyen .
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.
%
Merk at du må ha noen av redaktørene som ed installert på systemet før du bruker dem, i dette scenariet.
Start et annet program for å sammenligne filer
11. Bryteren --diff-program
lar deg kalle et annet kommandolinjeverktøy, annet enn selve sdiff for å sammenligne filer, for eksempel , kan du kalle opp diff-programmet som vist.
sdiff --diff-program=diff du.txt cal.txt
For mer informasjon, se sdiff-man-siden.
man sdiff
I denne artikkelen så vi på sdiff kommandolinjeverktøy for nybegynnere. Hvis du har spørsmål, bruk kommentarskjemaet nedenfor for å nå oss.