1 votos

Fuerza envolver las largas líneas de salida que no son tan terminales en la terminal

Por lo general, cuando las líneas largas de salida en la terminal/consola/xterm, que se ajustará automáticamente. Sin embargo, hay casos que no lo son. ps es uno de esos casos-los recortes de la salida a la derecha en el windows ancho.

 ps ax | grep [d]nsmasq
 4459 ?        S      0:03 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsm

Para el dnsmasq, incluso puedo maximizar mi xterm, la producción sigue siendo de corte.

He intentado,

 $ ps ax | fold | grep [d]nsmasq
 4459 ?        S      0:03 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsm

 $ ps ax | grep [d]nsmasq | fold
 4459 ?        S      0:03 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsm

 $ ps ax | grep [d]nsmasq | fold --spaces
 4459 ?        S      0:03 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsm

Tales corte hacen ps parece no escribiendo en la salida estándar, pero su respuesta a grep demuestra lo contrario. Pero, ¿cómo es el fold entonces no está trabajando?

Cómo envolver tan largas líneas para mostrar todo lo que en vez de cortar a la de windows' de ancho?

1voto

xpt Puntos 1437

Duh, encontré la respuesta poco después de que la preguntara.

 COLUMNS=500 ps ax | grep [d]nsmasq | fold
 

El mismo truco funciona para dpkg también.

0voto

Abbas Puntos 3737

Compruebe la página de manual. Compara estas 3 salidas:

 ps ax
ps axw
ps axww
 

0voto

Garry Puntos 1431

ps verifica si su salida va a un terminal, y si es así, consulta el ancho del terminal. Entonces ps sí mismo trunca cada línea de acuerdo con ese ancho. No es el terminal que los corta, ni siquiera recibe estos datos.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: