Linux / Comando more: leer texto por pantallas y buscar una línea

more es un paginador que muestra textos largos en unidades de pantalla en el terminal. Se puede usar fácilmente en un entorno básico, pero si se necesitan exploración bidireccional y varias funciones de búsqueda, normalmente less es más conveniente.

Los nombres README.txt, server.log y otros archivos de los ejemplos deben sustituirse por rutas existentes. Para elegir otras herramientas de consulta de texto, puede comparar la Lista de comandos de uso frecuente en Linux.

Muestra un archivo o entrada estándar por pantalla y espera la entrada del usuario. Las acciones típicas son Space para la siguiente pantalla, Enter para la siguiente línea y q para salir. Dependiendo de la implementación, el movimiento hacia atrás y las opciones admitidas varían.

Sintaxis básica

more [OPCIONES] [ARCHIVO ...]

Las opciones y el comportamiento detallado pueden variar según la implementación y la versión. En el sistema actual, consulte la descripción de los comandos instalados como more --help y man more.

Uso básico de more

Leer archivos por pantalla

El porcentaje del archivo leído o el estado se pueden mostrar en la parte inferior de la pantalla.

more README.txt

Mover a la siguiente pantalla y línea

Durante la ejecución, Space avanza a la siguiente pantalla, Enter avanza una línea y q sale.

more changelog.txt

Pasar la salida de un comando

Cuando la salida estándar es larga, se une después de una tubería.

dmesg | more

Comprender la indicación de los límites de página

more sample.txt muestra el contenido de una pantalla a la vez y espera la siguiente entrada. Al detenerse al final de una pantalla, puede aparecer un indicador de progreso o --More--.

more sample.txt

Ejemplo de indicación de estado:

--More--(50%)

Space se usa para la siguiente pantalla, Enter para la siguiente línea y q para finalizar. El formato de la indicación y la posibilidad de retroceder dependen de la implementación y de si la entrada es un archivo o una tubería.

Opciones principales

Opciones Descripción
-d Muestra una guía de teclas disponibles y un mensaje de tecla incorrecta.
-s Reduce líneas vacías consecutivas a una sola línea al mostrarlas.
-f En util-linux, cuenta líneas lógicas en lugar de líneas de pantalla: una línea larga que se ajusta en varias filas cuenta como una sola.
-num Especifique el número de líneas para mostrar por pantalla.
+num Empiece a mostrar desde la línea especificada.
+/pattern Empiece cerca del patrón que coincide primero.

Ejemplos de uso práctico

Empezar desde una línea específica

Vea desde el punto de interés en archivos grandes en formato +NÚMERO_DE_LÍNEA, compatible con la implementación.

more +200 server.log

Empezar cerca del resultado de la búsqueda

Si el patrón contiene caracteres especiales de shell, coloque los argumentos entre comillas.

more +/'ERROR' server.log

Leer comprimiendo líneas en blanco

En salidas con muchas líneas vacías, -s disminuye la cantidad de desplazamiento.

more -s report.txt

Comparar more con otros comandos

Comando Rol principal Situaciones adecuadas
more Visualización de página simple Lectura básica hacia adelante
less Navegación bidireccional y búsqueda avanzada Análisis de archivos largos
cat Salida inmediata completa Archivos cortos
head Mostrar solo el principio Revisión rápida del formato y encabezado

Precauciones al usar

Hay una gran diferencia de implementación

Dependiendo de la implementación como util-linux, BSD, las teclas de movimiento y las opciones son diferentes, por lo que se verifica con man more.

La entrada por tubería puede estar limitada para moverse

A diferencia de los archivos normales, la función de regresar a las partes ya pasadas puede estar limitada en la entrada estándar.

No es adecuado para salida automatizada

Como es un pager interactivo, para procesar los resultados en un script se utilizan head, sed, awk, etc.

FAQ

¿Cómo se termina en more?

Se pulsa q.

¿Y para moverse línea por línea?

Generalmente se utiliza la tecla Enter.

¿Cuál es mejor usar, more o less?

Para lectura simple hacia adelante, more es suficiente, pero si se necesita buscar y moverse hacia adelante y atrás, less es conveniente.

¿Se puede empezar desde una línea específica?

En las implementaciones que lo soportan, se puede usar el formato more +NÚMERO_DE_LÍNEA ARCHIVO.

Documentación oficial