Al mirar el contenido de los archivos, me gustaría catacortar automáticamente los archivos, pero lessaquellos que exceden el tamaño de la pantalla. Podría usar algo wc -l, pero ¿hay una mejor manera que tal vez también considere el tamaño de la ventana / cantidad actual de líneas disponibles?
12

git logque hace esto exactamente. Nunca sabes de antemano qué vas a obtener (¿tienes que golpearq?).catpara ver archivos. Por lo general, solo debe usarcatpara enviar el contenido de un archivo a stdout para que pueda canalizarse a otro proceso. La razón para evitar el usocatpara la visualización es que envía los bytes sin procesar al terminal, lo que puede provocar que se ejecuten comandos inesperados del terminal (por ejemplo, algunos usuarios se atascaron cuando un archivo contenía los bytes correctos para desactivar el teclado del terminal) . Por lo general, debe usar un buscapersonaslesso un editor, que formateará caracteres especiales para su visualización para que el terminal no los interprete.cat -vpara que escape caracteres especiales.catposible la pantalla dividida ? cuál podría ser una mejor solucióncat -vhacia fueraRespuestas:
Para darle la fórmula que involucra la
wcverificación basada en:Hay una
$LINESvariable de shell que también se puede usar:Pero
$LINESse actualiza solo cuando está en el símbolo del sistema. Para entender lo que quiero decir, ejecute esto y cambie el tamaño de la ventana de terminal durante elsleep:fuente
lesssi, por ejemplo, 2/3 de la pantalla fueron utilizados porcat.Tal vez 'less -F file_to_read' es la opción: sale menos si la ventana es suficiente para mostrar todo el archivo, y espera en el localizador si no es el caso
fuente
-Xopción detendrá el borrado, por lo que los archivos cortos se mostrarán como locathace. Desafortunadamente,-Xla pantalla no se borrará ni después de mostrar archivos largos y desplazados.catles llamara