¿Por qué el comando 'menos' no puede leer datos de la entrada estándar?

¿Por qué el comando 'menos' no puede leer datos de la entrada estándar?

El comando less < brown_fox.txtleerá los datos brown_fox.txty los imprimirá en la pantalla. Pero si quiero leer datos de una entrada estándar o del teclado usando menos comandos, ¿cómo debo hacerlo?

Probé los siguientes comandos,

less
less <&0

pero ninguno de los dos tuvo éxito.

Respuesta1

Para leer desde stdin, puedes usar

less -

Sin embargo, esto es más adecuado para los casos en los que desea canalizar la salida de otro comando a less. Escribir desde el teclado también funcionará, pero escribirá a ciegas y tendrá que presionar Ctrl-Cpara devolver el control a menos, lo que hace que ese tipo de uso sea bastante difícil (si no inútil).Tenga en cuenta también que esto no está documentado y es posible que no sea portátil en absoluto.

¿Quizás quieras especificar más por qué te gustaría lessleer stdin?

Respuesta2

Si está intentando enviar comandos a less, puede hacerlo usando +la línea de comando, por ejemplo:

less +G somefile

ls -l | less +G

Esto equivale a lessabrir y luego escribir el Gcomando en el mensaje predeterminado.


Si estás hablando de lessinformación de paginación que has escrito, puedes usar un documento heredoc, pero no estoy seguro del caso de uso para eso:

less << EOF
hello
world
EOF

información relacionada