Inicio > Procesamiento y búsqueda de texto > lesspipe

lesspipe: Preprocesador de entrada para less

`lesspipe` es un script preprocesador de entrada que amplía la funcionalidad del comando `less`, permitiendo ver directamente archivos en varios formatos como archivos comprimidos, archivos y PDFs. A través de la variable de entorno `LESSOPEN`, `less` llama a `lesspipe` antes de abrir un archivo para pasar el contenido del archivo a través de una tubería. Esto permite a los usuarios ver el contenido inmediatamente sin pasos adicionales para descomprimir o convertir el archivo.

Visión general

`lesspipe` es una utilidad que ayuda a `less` a procesar varios formatos de archivo además de los archivos de texto plano. Cuando `less` abre un archivo, ejecuta el script `lesspipe` para convertir el contenido del archivo a salida estándar, y `less` recibe esta salida para mostrarla.

Funciones principales

  • Ver directamente el contenido de archivos comprimidos (gzip, bzip2, xz, etc.)
  • Ver la lista y el contenido de archivos de archivo (tar, zip, rar, etc.)
  • Extraer y ver texto de archivos no textuales como PDF e imágenes (requiere herramientas relacionadas)
  • Mantener las potentes funciones de búsqueda y navegación de `less`

Instalación y configuración

`lesspipe` se proporciona como parte del paquete `less` o como un paquete `lesspipe` separado en la mayoría de las distribuciones de Linux. La clave es configurar la variable de entorno `LESSOPEN` para que `less` utilice `lesspipe`.

Verificar instalación

Aunque está instalado por defecto en la mayoría de los sistemas, puede verificar su existencia con el siguiente comando.

which lesspipe

Instalar paquete (si es necesario)

Si `lesspipe` no está instalado, puede instalarlo con el siguiente comando.

Debian/Ubuntu

sudo apt update && sudo apt install less

Fedora/RHEL

sudo dnf install less

Configurar la variable de entorno LESSOPEN

Para activar `lesspipe`, debe agregar la variable de entorno `LESSOPEN` a su archivo de configuración de shell (por ejemplo, `~/.bashrc`, `~/.zshrc`). La ruta exacta de `lesspipe` puede variar según el sistema, así que verifíquela con `which lesspipe`.

Ejemplo de configuración de LESSOPEN

export LESSOPEN="|/usr/bin/lesspipe %s"
export LESS_ADVANCED_PREPROCESSOR=1
source ~/.bashrc

La configuración típica es la siguiente. Aplique los cambios inmediatamente usando el comando `source`.

Explicación de la variable LESSOPEN

  • `|`: Indica que la salida de `lesspipe` se pasará a `less` a través de una tubería.
  • `%s`: Es un marcador de posición que representa la ruta del archivo que `less` intenta abrir.
  • `LESS_ADVANCED_PREPROCESSOR=1`: Se utiliza para habilitar funciones de preprocesamiento avanzadas en algunas versiones de `lesspipe`.

Ejemplos de uso

Una vez que `lesspipe` esté configurado correctamente, el comando `less` procesará automáticamente varios tipos de archivos cuando se use normalmente.

Ver el contenido de un archivo comprimido con gzip

less my_log.gz

Vea el contenido de un archivo `.gz` directamente con `less` sin descomprimirlo.

Ver la lista de archivos dentro de un archivo tar

less my_archive.tar.gz

Verifique la lista de archivos dentro de un archivo `.tar.gz` con `less` sin descomprimirlo.

Ver la lista de archivos dentro de un archivo zip

less my_documents.zip

Verifique la lista de archivos dentro de un archivo `.zip` con `less` sin descomprimirlo.

Ver el contenido de texto de un archivo PDF

less document.pdf

Si tiene herramientas como `pdftotext` instaladas, puede ver el contenido de texto de un archivo PDF con `less`.

Ver cadenas en un archivo binario

less /bin/ls

Para archivos binarios, puede ver las cadenas extraídas con el comando `strings` usando `less`.

Consejos y precauciones

Consejos y consideraciones para usar `lesspipe` de manera efectiva.

Script lesspipe personalizado

El script `lesspipe` predeterminado es un script de shell, por lo que puede modificarlo o escribir su propio script `lesspipe` y especificarlo en la variable `LESSOPEN` según sea necesario. Por ejemplo, puede agregar lógica de procesamiento adicional para tipos de archivo específicos.

  • Copiar y modificar el script lesspipe existente
  • Agregar lógica de procesamiento para nuevos tipos de archivo
  • Especificar la ruta del script personalizado en la variable LESSOPEN

Consideraciones de rendimiento

Al abrir archivos comprimidos o archivos muy grandes con `lesspipe`, puede llevar tiempo extraer y convertir el contenido del archivo. En este caso, puede haber un ligero retraso antes de que comience `less`.

Precauciones de seguridad

`lesspipe` ejecuta comandos externos para procesar archivos. Por lo tanto, si utiliza un script `lesspipe` no confiable o si se procesan archivos maliciosos a través de `lesspipe`, pueden surgir problemas de seguridad. Utilice siempre `lesspipe` de fuentes confiables y tenga cuidado al configurar la variable `LESSOPEN`.

Verificar formatos de archivo compatibles

Al verificar el contenido del script `lesspipe` instalado en su sistema, puede ver qué formatos de archivo admite y qué herramientas externas utiliza. Generalmente, puede ver el contenido del script con el comando `cat /usr/bin/lesspipe` (o la ruta correspondiente).


Comandos de la misma categoría