Búsqueda de sitios web

Ejemplos de comandos sdiff de Linux para principiantes en Linux


En uno de nuestros artículos anteriores, explicamos 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 una con ciertas características notables. Otra utilidad de diferenciación útil para Linux se llama sdiff.

Lea también: Cómo encontrar diferencias entre dos directorios usando las herramientas Diff y Meld

sdiff es una sencilla utilidad de línea de comandos para mostrar las diferencias entre dos archivos y fusionarlos 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 sencilla de ejecutar sdiff es proporcionar los dos nombres de archivo que está intentando comparar. Mostrará la diferencia fusionada una al lado de la otra como se muestra en la siguiente captura de pantalla.


cal >cal.txt
df -h >du.txt
sdiff du.txt cal.txt

Trate 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, utilice 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 demasiados espacios en blanco, puede decirle a sdiff que ignore todos los espacios en blanco mientras compara usando 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 indicarle 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 caso al comparar la diferencia

6. Para ignorar mayúsculas y minúsculas (donde sdiff trata las mayúsculas y las minúsculas como iguales), use la opción -i como se muestra.

sdiff -i du.txt cal.txt

Ignore las 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 generar

8. sdiff le permite establecer el número de columnas que se imprimirán (el valor predeterminado es 130), utilizando -w cambie 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 la salida, use la opción -t.

sdiff -t du.txt cal.txt

Ejecute sdiff de forma interactiva

10. El indicador -o le permite ejecutarse de forma más interactiva y enviar resultados 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.

Invocar otro programa para comparar archivos

11. El parámetro --diff-program le permite llamar a otra herramienta de línea de comandos, distinta del propio sdiff, para comparar archivos, por ejemplo. , puede llamar al programa diff como se muestra.

sdiff --diff-program=diff du.txt cal.txt

Para obtener más información, consulte la página de manual de sdiff.

man sdiff

En este artículo, analizamos ejemplos de herramientas de línea de comandos sdiff para principiantes. Si tiene alguna pregunta, utilice el formulario de comentarios a continuación para comunicarse con nosotros.