Linux sdiff-opdrachtvoorbeelden voor Linux-nieuwkomers
In een van onze eerdere artikelen hebben we de 9 beste tools voor bestandsvergelijking en verschil (Diff) voor Linux-systemen uitgelegd. We hebben een combinatie van opdrachtregel- en GUI-hulpmiddelen op een rij gezet voor het vergelijken en vinden van verschillen tussen bestanden, elk met bepaalde opmerkelijke kenmerken. Een ander handig diff-hulpprogramma voor Linux heet sdiff.
Lees ook: het verschil tussen twee mappen vinden met behulp van Diff- en Meld-tools
sdiff is een eenvoudig opdrachtregelprogramma waarmee u de verschillen tussen twee bestanden kunt weergeven en interactief kunt samenvoegen. Het is gemakkelijk te gebruiken en wordt geleverd met duidelijke gebruiksopties, zoals hieronder uitgelegd.
De syntaxis voor het gebruik van sdiff is als volgt.
sdiff option... file1 file2
Toon het verschil tussen twee bestanden in Linux
1. De eenvoudigste manier om sdiff uit te voeren is door de twee bestandsnamen op te geven die u probeert te vergelijken. Het zal het samengevoegde verschil naast elkaar tonen, zoals weergegeven in de volgende schermafbeelding.
cal >cal.txt
df -h >du.txt
sdiff du.txt cal.txt
Behandel alle bestanden als tekstbestanden
2. Om alle bestanden als tekst te behandelen en ze regel voor regel te vergelijken, of het nu tekstbestanden zijn of niet, gebruikt u de vlag -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 <
Negeer tabbladen en witruimte
3. Als je bestanden hebt met te veel witruimte, kun je sdiff vertellen om alle witruimte te negeren tijdens het vergelijken met behulp van de -W
-schakelaar.
sdiff -W du.txt cal.txt
4. Je kunt sdiff ook vertellen om eventuele witruimte aan het einde van de regel te negeren met behulp van de optie -z
.
sdiff -z du.txt cal.txt
5. Bovendien kunt u sdiff opdracht geven om wijzigingen als gevolg van tabbladuitbreiding te negeren met de vlag -E
.
sdiff -E du.txt cal.txt
Negeer hoofdletters en kleine letters terwijl u de verschillen vergelijkt
6. Om hoofdletters en kleine letters te negeren (waarbij sdiff hoofdletters en kleine letters als hetzelfde beschouwt), gebruikt u de optie -i
zoals weergegeven.
sdiff -i du.txt cal.txt
Negeer lege regels bij het vergelijken van verschillen
7. De optie -B
helpt bij het negeren van lege regels in bestanden.
sdiff -B du.txt cal.txt
Definieer het aantal kolommen dat moet worden uitgevoerd
8. Met sdiff kunt u het aantal kolommen instellen dat moet worden afgedrukt (standaard is 130), door de -w
te gebruiken schakelt u als volgt over.
sdiff -w 150 du.txt cal.txt
Vouw tabbladen uit naar spaties
9. Om tabs uit te breiden naar spaties in de uitvoer, gebruik je de -t
optie.
sdiff -t du.txt cal.txt
Voer sdiff interactief uit
10. Met de vlag -o
kan het interactiever worden uitgevoerd en uitvoer naar een bestand worden verzonden. In deze opdracht wordt de uitvoer naar het bestand sdiff.txt gestuurd. Druk op Enter nadat u het %
-teken ziet, om het interactieve menu te krijgen .
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.
%
Houd er rekening mee dat u in dit scenario een aantal editors zoals ed op uw systeem moet hebben geïnstalleerd voordat u ze kunt gebruiken.
Roep een ander programma op om bestanden te vergelijken
11. Met de schakeloptie --diff-program
kunt u een ander opdrachtregelprogramma dan sdiff zelf aanroepen om bijvoorbeeld bestanden te vergelijken , kunt u het diff programma oproepen zoals weergegeven.
sdiff --diff-program=diff du.txt cal.txt
Raadpleeg de sdiff-manpagina voor meer informatie.
man sdiff
In dit artikel hebben we voorbeelden van sdiff opdrachtregelprogramma's voor beginners bekeken. Als u vragen heeft, kunt u het onderstaande opmerkingenformulier gebruiken om ons te bereiken.