
Estoy intentando leer una versión filtrada de algunos archivos less
usando la LESSOPEN
variable de entorno, pero no importa cuán simple sea mi preprocesador, el comando se bloquea hasta que lo envío SIGINT
mediante Ctrl+C:
LESSOPEN='||cat' less foo bar
¿Qué estoy haciendo mal aquí? (Tenga en cuenta que no puedo simplemente pasar la entrada como una canalización, ya que estoy abriendo varios archivos en búferes separados).
Respuesta1
Olvidaste el archivo %s
, sin el cual cat
no obtuviste un nombre de archivo y simplemente estás esperando la entrada de la entrada estándar:
LESSOPEN='||cat %s' less foo bar # works
LESSOPEN='||cat' less foo bar # hangs
Elpágina de manualdice:
Para configurar un preprocesador de entrada, configure la variable de entorno LESSOPEN en una línea de comando que invocará su preprocesador de entrada. Esta línea de comando debe incluir una aparición de la cadena "%s", que será reemplazada por el nombre del archivo cuando se invoque el comando del preprocesador de entrada.