Ejemplos de comandos sdiff de Linux para principiantes de Linux
En uno de nuestros artículos anteriores, hemos explicado acerca de las 9 mejores herramientas de comparación y diferencia de archivos (Diff) para sistemas Linux. Enumeramos una combinación de herramientas de línea de comandos y GUI para comparar y encontrar diferencias entre archivos, cada uno con ciertas características notables. Otra utilidad de diferencias útil para Linux se llama sdiff .
sdiff es una sencilla utilidad de línea de comandos para mostrar las diferencias entre dos archivos y combinarlos de forma interactiva. Es fácil de usar y viene con opciones de uso sencillas como se explica a continuación.
La sintaxis para usar sdiff es la siguiente.
$ sdiff option... file1 file2
Mostrar la diferencia entre dos archivos en Linux
1. La forma más fácil de ejecutar sdiff es proporcionar los dos nombres de archivos que intentas comparar. Mostrará la diferencia combinada de lado a lado como se muestra en la siguiente captura de pantalla.
$ cal >cal.txt $ df -h >du.txt $ sdiff du.txt cal.txt

Tratar todos los archivos como archivos de texto
2. Para tratar todos los archivos como texto y compararlos línea por línea, ya sean archivos de texto o no, use 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 <
Ignorar pestañas y espacios en blanco
3. Si tiene archivos con demasiado espacio en blanco, puede decirle a sdiff que ignore todos los espacios en blanco mientras compara utilizando el interruptor -W
.
$ sdiff -W du.txt cal.txt
4. También puede decirle a sdiff que ignore cualquier espacio en blanco al final de la línea usando la opción -z
.
$ sdiff -z du.txt cal.txt
5. Además, puede indicar a sdiff que ignore los cambios debidos a la expansión de la pestaña con el indicador -E
.
$ sdiff -E du.txt cal.txt
Ignorar el caso al comparar la diferencia
6. Para ignorar mayúsculas y minúsculas (donde sdiff trata mayúsculas y minúsculas como iguales), use la opción -i
como se muestra.
$ sdiff -i du.txt cal.txt
Ignorar líneas en blanco al comparar diferencias
7. La opción -B
ayuda a ignorar las líneas en blanco en los archivos.
$ sdiff -B du.txt cal.txt
Definir el número de columnas a la salida
8. sdiff le permite configurar el número de columnas que se imprimirán (el valor predeterminado es 130 ), mediante el uso de -w cambiar de la siguiente manera.
$ sdiff -w 150 du.txt cal.txt
Expandir pestañas a espacios
9. Para expandir las pestañas a espacios en salida, use la opción -t
.
$ sdiff -t du.txt cal.txt
Ejecutar sdiff interactivamente
10. El indicador -o
le permite ejecutarse de forma más interactiva y enviar la salida a un archivo. En este comando, la salida se enviará al archivo sdiff.txt , presione Enter después de ver el signo %
para obtener el menú interactivo .
$ 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.
%
Tenga en cuenta que necesita tener algunos de los editores como ed instalados en su sistema antes de usarlos, en este escenario.
Invoque otro programa para comparar archivos
11. El interruptor --diff-program
le permite llamar a otra herramienta de línea de comandos, que no sea sdiff para comparar archivos, por ejemplo , puede llamar al programa diff como se muestra.
$ sdiff --diff-program=diff du.txt cal.txt
Para más información, consulte la página del manual de sdiff.
$ man sdiff
En este artículo, analizamos los ejemplos de la herramienta de línea de comandos sdiff para principiantes. Si tiene alguna pregunta, utilice el formulario de comentarios a continuación para comunicarse con nosotros.