Exemples de comandaments sdiff de Linux per a principiants de Linux
En un dels nostres articles anteriors, hem explicat les 9 millors eines de comparació i diferència de fitxers (Diff) per a sistemes Linux. Hem enumerat una combinació d'eines de línia d'ordres i GUI per comparar i trobar diferències entre fitxers, cadascun amb certes característiques notables. Una altra utilitat de diferenciació útil per a Linux s'anomena sdiff.
sdiff és una senzilla utilitat de línia d'ordres per mostrar les diferències entre dos fitxers i combinar-los de manera interactiva. És fàcil d'utilitzar i inclou opcions d'ús senzilles, tal com s'explica a continuació.
La sintaxi per utilitzar sdiff és la següent.
$ sdiff option... file1 file2
Mostra la diferència entre dos fitxers a Linux
1. La manera més senzilla d'executar sdiff és proporcionar els dos noms de fitxer que esteu intentant comparar. Mostrarà la diferència combinada una al costat de l'altra, tal com es mostra a la captura de pantalla següent.
$ cal >cal.txt $ df -h >du.txt $ sdiff du.txt cal.txt
Tracta tots els fitxers com a fitxers de text
2. Per tractar tots els fitxers com a text i comparar-los línia per línia, tant si són fitxers de text com si no, utilitzeu la marca -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 <
Ignora les pestanyes i els espais en blanc
3. Si teniu fitxers amb massa espais en blanc, podeu dir a sdiff que ignori tots els espais en blanc mentre compareu utilitzant l'interruptor -W
.
$ sdiff -W du.txt cal.txt
4. També podeu dir a sdiff que ignori qualsevol espai en blanc al final de la línia utilitzant l'opció -z
.
$ sdiff -z du.txt cal.txt
5. A més, podeu indicar a sdiff que ignori els canvis a causa de l'expansió de la pestanya amb el senyalador -E
.
$ sdiff -E du.txt cal.txt
Ignoreu majúscules i minúscules mentre compareu la diferència
6. Per ignorar majúscules (on sdiff tracta les majúscules i les minúscules com el mateix), utilitzeu l'opció -i
com es mostra.
$ sdiff -i du.txt cal.txt
Ignoreu les línies en blanc mentre compareu la diferència
7. L'opció -B
ajuda a ignorar la línia en blanc als fitxers.
$ sdiff -B du.txt cal.txt
Definiu el nombre de columnes a sortir
8. sdiff us permet establir el nombre de columnes que s'han d'imprimir (el valor per defecte és 130), utilitzant el commutador -w
de la manera següent.
$ sdiff -w 150 du.txt cal.txt
Amplieu les pestanyes a espais
9. Per expandir les pestanyes a espais a la sortida, utilitzeu l'opció -t
.
$ sdiff -t du.txt cal.txt
Executeu sdiff de manera interactiva
10. El senyalador -o
li permet executar-se de manera més interactiva i enviar la sortida a un fitxer. En aquesta ordre, la sortida s'enviarà al fitxer sdiff.txt, premeu Intro després de veure el signe %
per obtenir el menú interactiu.
$ 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.
%
Tingueu en compte que heu de tenir alguns dels editors, com ara ed, instal·lats al vostre sistema abans d'utilitzar-los, en aquest escenari.
Invoqueu un altre programa per comparar fitxers
11. L'interruptor --diff-program
us permet trucar a una altra eina de línia d'ordres, que no sigui el mateix sdiff per comparar fitxers, per exemple, podeu trucar al programa diff tal com es mostra.
$ sdiff --diff-program=diff du.txt cal.txt
Per a més informació, consulteu la pàgina man de sdiff.
$ man sdiff
En aquest article, vam mirar exemples d'eines de línia d'ordres sdiff per a principiants. Si teniu cap pregunta, utilitzeu el formulari de comentaris a continuació per contactar amb nosaltres.