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).