Forzar menos para mostrar un archivo como texto


14

A veces, reconoce menos erróneamente el archivo como binario e intenta mostrar hexdump en LHS (generalmente aquellos con caracteres no alfanuméricos pero que aún contienen caracteres ASCII imprimibles). ¿Cómo obligarlo a reconocerlo como texto?


Buscando otra respuesta. Tengo un archivo de registro que se cat somefilemuestra como ASCII, pero less somefiledice que puede ser binario y se muestra como tal. echo $LESSOPENEstá vacío y less -Lno ayuda.
Nathan Long

2
@NathanLong Esto probablemente sería aceptable para abrir una nueva pregunta ya que la solución aquí no resuelve su problema (solo asegúrese de tener en cuenta eso). Sin embargo, cuando dice "puede ser binario y se muestra como tal", ¿está diciendo que muestra una representación hexadecimal de los datos o ve los datos binarios sin formato (como todos los símbolos extraños y similares)?
Patrick

¿Qué es el LHS? Es nuevo para mi.
DFC

Respuestas:


19

Creo que tiene (o su distribución tiene) un LESSOPENfiltro configurado para less. Pruebe lo siguiente para indicar lessque no use el filtro:

less -L my_binary_file

Para una mayor exploración, también intente echo $LESSOPEN. Probablemente contiene el nombre de un script de shell ( /usr/bin/lesspipepara mí), que puede leer para ver qué tipo de filtros hay. Pruebe también man lessy lea la sección del preprocesador de entrada .


4

Para el caso de LESSOPENno ser el problema. Se lesspodrían probar las siguientes opciones:

  1. -fo --force: Además de permitir que se abran archivos no regulares, "también suprime el mensaje de advertencia cuando se abre un archivo binario".
  2. -ro --raw-control-chars: "Hace que se muestren caracteres de control sin formato. El valor predeterminado es mostrar caracteres de control utilizando la notación de intercalación; por ejemplo, un control-A (octal 001) se muestra como ^A. Advertencia: cuando -rse usa la opción, menos no puede seguir la pista de la apariencia real de la pantalla (ya que esto depende de cómo responda la pantalla a cada tipo de carácter de control). Por lo tanto, pueden producirse varios problemas de visualización, como líneas largas que se dividen en el lugar equivocado.
  3. -Ro --RAW-CONTROL-CHARS: De forma más débil que la -ranterior, solo las secuencias de escape de "color" ANSI salen en forma "en bruto". "A diferencia de -r, la apariencia de la pantalla se mantiene correctamente en la mayoría de los casos". Esto es útil si, por ejemplo, está viendo un archivo de registro que utiliza secuencias de control de color ANSI.

Puede experimentar presionando las teclas -seguidas rsin volver a ejecutar less. Puede agregar estas opciones a LESSla variable de entorno para hacer que la configuración sea permanente (por ejemplo, modificando su archivo de perfil de shell); si su terminal puede mostrar colores, le recomiendo agregar -Rsu LESSconfiguración. Debe asegurarse de que su terminal esté configurado para usar la misma codificación de caracteres que su archivo de texto.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.