Inicio > Procesamiento y búsqueda de texto > patch

patch: Aplicar cambios (parches) a archivos

El comando `patch` se utiliza para aplicar cambios a archivos originales usando archivos de parche (.patch) generados por el comando 'diff'. Esta herramienta permite modificar código fuente o actualizar archivos de configuración de manera eficiente.

Visión General

patch es una utilidad que lee un archivo de salida creado por el comando diff (también conocido como archivo de parche) y aplica los cambios a los archivos originales. Este archivo de parche generalmente registra qué líneas se han añadido, eliminado o modificado. El comando patch modifica los archivos originales basándose en esta información. Antes de la aparición de los sistemas de control de versiones (CVS, Git, etc.), era el método principal para compartir cambios de código.

Características Principales

Las características principales del comando patch son las siguientes:

  • Utiliza archivos de parche generados por el comando diff.
  • Se usa ampliamente para actualizar código fuente, cambiar archivos de configuración, etc.
  • Puede detectar y aplicar algunos cambios incluso si el archivo original no coincide exactamente con el archivo de parche.
  • También proporciona una función para revertir los cambios a su estado original.

Opciones Principales

Hemos agrupado las opciones de uso frecuente del comando patch según su propósito.

1) Aplicar y Deshacer Parches

2) Ayuda

Comando generado:

Combina los comandos.

Descripción:

`patch` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de Uso

Aprenda las funciones del comando patch a través de varios ejemplos de uso.

Aplicar un Archivo de Parche

patch -p1 -i my_changes.patch

Aplica los cambios al archivo original usando el archivo `my_changes.patch`. La opción `-p1` ignora la primera ruta de directorio del archivo de parche.

Revertir Cambios

patch -p1 -R -i my_changes.patch

Revierte el contenido del parche aplicado a su estado original usando la opción `-R`. Se utiliza para restaurar el archivo original.

Aplicar Parche a través de Tubería

diff -u original_file.txt new_file.txt | patch -p0 original_file.txt

Pasa directamente la salida del comando diff al comando patch a través de una tubería (`|`) para aplicar el parche sin crear un archivo de parche.

Previsualizar Aplicación de Parche

patch --dry-run -p1 -i my_changes.patch

Utiliza la opción `--dry-run` para previsualizar qué cambios ocurrirán al aplicar el parche.

Instalación

patch está incluido por defecto en la mayoría de las distribuciones de Linux. Si el paquete no está presente, puede instalar los paquetes `patch` o `diffutils` de la siguiente manera:

Debian/Ubuntu

sudo apt update && sudo apt install -y patch

RHEL/CentOS/Fedora

sudo dnf install -y patch

Arch Linux

sudo pacman -S --needed patch

Consejos y Precauciones

Aquí se resumen los puntos a tener en cuenta al usar el comando patch.

Consejos

  • El formato unificado (unified) generado por `diff -u` es el formato de parche más común. El uso de este formato aumenta la tasa de éxito de la aplicación del parche.
  • La opción `-p` es muy importante para ignorar la información de la ruta en el archivo de parche. Debe verificar el encabezado del archivo de parche para especificar el nivel correcto. Por ejemplo, si la ruta es `a/src/file.c`, usar `-p1` aplicará el parche a `src/file.c`.
  • Si la aplicación del parche falla, se creará un archivo con la extensión `.rej`. Este archivo contiene las partes que fallaron en el parche, por lo que puede consultarlo al realizar modificaciones manuales.
  • Es recomendable hacer una copia de seguridad del archivo original antes de aplicar un parche.

comandos relacionados

Son comandos que son funcionalmente similares o que se usan juntos con frecuencia.


Comandos de la misma categoría