Cada vez que algún comando genera líneas largas como salida (por ejemplo, cuando ls -l
una carpeta que contiene archivos con nombres largos), las líneas largas se ajustan a la siguiente línea, lo que desordena la estructura de la columna.
¿Hay alguna forma de evitar esto? ¿Algo parecido a la opción vim 'nowrap'?
actualizar
Noté un problema con la respuesta aceptada:
si hago un alias como: alias ll="tput rmam; ls -l; tput smam"
y luego trato de grep su salida: ll | grep foo
todavía imprimirá todos los archivos, como sin el grep.
La solución que encontré es poner corchetes alrededor del alias completo:
alias ll="(tput rmam; ls -l; tput smam)"
command-line
bash
Mihai Rotaru
fuente
fuente
Respuestas:
Tenga en cuenta que esto no tiene nada que ver con bash (una vez que ha lanzado el comando, bash solo espera a que termine) y todo lo que tiene que ver con el terminal.
La mayoría de los emuladores de terminal se ajustan al margen derecho de forma predeterminada. Pero esto puede desactivarse utilizando la secuencia de control apropiada , si el emulador de terminal lo admite; entonces las líneas largas simplemente se truncan:
fuente
tput rmam; ls -l longname; tput smam
man 5 terminfo
en Linux).Si desea poder desplazarse horizontalmente en lugar de truncar las líneas, use
less -S
.fuente
Podrías usar una función como esta:
tenga en cuenta que tendrá que prefijar comandos con
nowrap
o lo que sea que nombre la función.fuente
Puede anular una función para que se ejecute automáticamente
tput rmam
antes de grep ytput smam
después:Deja eso en tu
.bash_profile
y cada vez que corrasgrep
, grep sin ajuste de línea.Esto ha sido muy editado, disculpas a los comentaristas.
fuente
sleep 20
is amazing :-)canalícelo a menos comando con el interruptor -S:
Luego puede usar las flechas hacia arriba / abajo / izquierda / derecha para desplazarse y escribir q para salir.
fuente
Prueba esto
fuente