Linux sdiff Kommandoeksempler til Linux-nybegyndere
I en af vores tidligere artikel har vi forklaret omkring 9 bedste fil sammenligning og forskel (Diff) værktøjer til Linux-systemer. Vi listede en blanding af kommandolinje- og GUI-værktøjer til sammenligning og finde forskelle mellem filer, hver med visse bemærkelsesværdige funktioner. Et andet nyttigt diff-hjælpeprogram til Linux kaldes sdiff.
sdiff er et simpelt kommandolinjeprogram til at vise forskellene mellem to filer og flette interaktivt. Det er let at bruge og leveres med enkle anvendelsesmuligheder som forklaret nedenfor.
Syntaksen for brug af sdiff er som følger.
$ sdiff option... file1 file2
Vis forskellen mellem to filer i Linux
1. Den nemmeste måde at køre sdiff på er at angive de to filnavne, du prøver at sammenligne. Det viser den flettede forskel side om side som vist i det følgende skærmbillede.
$ cal >cal.txt $ df -h >du.txt $ sdiff du.txt cal.txt
Behandl alle filer som tekstfiler
2. Brug flag -a
for at behandle alle filer som tekst og sammenligne dem linje for linje, uanset om det er tekstfiler eller ej.
$ 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 hvidt mellemrum
3. Hvis du har filer med for meget mellemrum, kan du bede sdiff om at ignorere al hvid plads, mens du sammenligner ved hjælp af -W
-kontakten.
$ sdiff -W du.txt cal.txt
4. Du kan også bede sdiff om at ignorere ethvert hvidt mellemrum ved linjeslut ved hjælp af indstillingen -z
.
$ sdiff -z du.txt cal.txt
5. Derudover kan du bede sdiff om at ignorere ændringer på grund af faneudvidelse med -E
-flagget.
$ sdiff -E du.txt cal.txt
Ignorer sag, mens man sammenligner forskellen
6. For at ignorere store og små bogstaver (hvor sdiff behandler store og små bogstaver som de samme), skal du bruge indstillingen -i
som vist.
$ sdiff -i du.txt cal.txt
Ignorer tomme linjer, mens du sammenligner forskellen
7. Indstillingen -B
hjælper med at ignorere tom linje i filer.
$ sdiff -B du.txt cal.txt
Definer antal kolonner, der skal outputes
8. sdiff giver dig mulighed for at indstille antallet af kolonner, der skal udskrives (standard er 130) ved hjælp af -w
-kontakten som følger.
$ sdiff -w 150 du.txt cal.txt
Udvid faner til mellemrum
9. For at udvide faner til mellemrum i output skal du bruge indstillingen -t
.
$ sdiff -t du.txt cal.txt
Kør sdiff interaktivt
10. Flagget -o
gør det muligt at køre mere interaktivt og sende output til en fil. I denne kommando sendes output til sdiff.txt-filen, tryk på Enter efter at have set %
-tegnet for at få den interaktive 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.
%
Bemærk, at du skal have nogle af redaktørerne, f.eks. Ed, installeret på dit system, før du bruger dem, i dette scenarie.
Påkald et andet program til at sammenligne filer
11. Omskifteren --diff-program
giver dig mulighed for at ringe til et andet kommandolinjeværktøj, bortset fra sdiff selv for at sammenligne filer, for eksempel kan du kalde diff-programmet som vist.
$ sdiff --diff-program=diff du.txt cal.txt
For mere information, se sdiff-mandsiden.
$ man sdiff
I denne artikel kiggede vi på eksempler på sdiff kommandolinjeværktøj til begyndere. Hvis du har spørgsmål, skal du bruge kommentarformularen nedenfor for at nå os.