¿Podría mostrar menos la proporción vista del archivo de texto?

18

Como el título lo indica, cuando estoy navegando por el archivo de texto, me gustaría saber la porción visual actual de todo el archivo de texto.

Sé que con la opción -N, podríamos activar los números de línea, pero ¿cómo podría hacer que menos muestre el número de línea del archivo de texto completo?

Gracias.

Jichao
fuente

Respuestas:

19

Si abre un archivo con menos, al presionar Ctrl-g se mostrará el número de línea actual, las líneas totales y el porcentaje, así como se muestra a continuación:

líneas 51-100 / 185 byte 3228/5886 54% (presione RETURN)

secureBadshah
fuente
1
gracias. después de volver a visitar la página de manual, logre encontrarla y obtenga los otros dos comandos iguales ': f' y '='. perdón por esto.
Jichao el
1
Desafortunadamente, no funciona a través de tuberías, ni con el parámetro -M o -m de la otra respuesta. Por ejemplo wdiff version1.txt version2.txt | colordiff | less -RM, no muestra el porcentaje. Avíseme si alguien tiene una solución o solución para esto. Actualización: la solución es agregar + Gg como se explica otra respuesta.
baptx
18

¿Quieres decir como con el -Minterruptor?

Osito de peluche
fuente
Eso es exactamente lo que quiero!
Jichao el
O -msi el número de línea no es necesario.
Franklin Yu
1
¿Tiene una idea si hay una solución o solución para mostrar el porcentaje al usar tuberías? Por ejemplo, no puedo ver el porcentaje de una diferencia de color con este comando: wdiff version1.txt version2.txt | colordiff | less -RMActualización: la solución es agregar + Gg como explica otra respuesta.
baptx
6

less -M +Gg

para archivos no muy grandes está bien, porque +G( Gcomando) ir hasta el final del archivo

ALZ
fuente
1
Genial para $MANPAGERaunque! Ver man man.
Tom Hale
¡Genial para colordifftambién! Por ejemplo:wdiff version1.txt version2.txt | colordiff | less -RM +Gg
baptx
4

Simplemente ampliando un poquito las respuestas anteriores. Línea de comando:

less -M +Gg

hace lo siguiente:

-M Mostrar la posición actual dentro del archivo en el indicador + Gg Ejecutar comandos G(ir al final del archivo) y g(volver al principio del archivo)

Si lessestá leyendo desde stdin, lo que sucede cuando manse muestra una página de manual, no conoce el número total de líneas en el archivo de antemano, por lo que puede calcular correctamente su posición. Por lo tanto, +Gges necesario para que lesspueda obtener el número total de líneas, y así calcular la posición actual como un porcentaje.

Me pareció útil establecer estas variables en ~ / .bashrc :

export LESS+='-M'
export MANPAGER='less +Gg'

LESSse asegurará de que todas las invocaciones de lessmostrarán la posición actual en la solicitud, y MANPAGERse asegurará de que lesspodrá obtener el número total de líneas en la página del manual, que lessluego se mostrará en la solicitud. Parecía ser más sensato no incluir +Ggen LESSpara evitar que lesstraten de ir hasta el final de la posible gran entrada de corriente. Si es necesario, siempre se pueden ejecutar los comandos Gy gmanualmente.

Paulo Marcel Coelho Aragão
fuente
+1 para la forma manual, presioneGg
wisbucky
¿Por qué poner un signo más "MENOS +" en su ejemplo? ¿No debería ser suficiente simplemente escribir "export LESS = 'M'"?
db
@db, LESS + = '- M' agregará la opción -M a cualquier opción que se haya configurado previamente para LESS
Paulo Marcel Coelho Aragão,