Cuando ejecuto man ls > temp.txt
el archivo de texto de salida está dañado. Por corrompido me refiero a que las primeras y últimas letras de algunas palabras se repiten excesivamente.
Varias primeras líneas en temp.txt
:
LS(1) BSD General Commands Manual LS(1)
NNAAMMEE
llss -- list directory contents
SSYYNNOOPPSSIISS
llss [--AABBCCFFGGHHLLOOPPRRSSTTUUWW@@aabbccddeeffgghhiikkllmmnnooppqqrrssttuuwwxx11] [_f_i_l_e _._._.]
DDEESSCCRRIIPPTTIIOONN
Y así. Sin redireccion man ls
es perfectamente normal ¿Qué esta pasando?
terminal
command-line
bash
seeker_of_bacon
fuente
fuente
less
omore
muestra el formato correctamente. Si utilizavim
, mostrará los backspaces en bruto (^H
) con las letras extras.Respuestas:
Desde
man man
:man
Imprime la versión formateada de la página man, los guiones bajos y las letras dobles sonanalizadocomentario de MichaelT
fuente
Érase una vez, las computadoras se conectaban de forma rutinaria a los teletipos (teleprinters) que imprimirían todo el texto en papel en tiempo real a medida que se recibía. Si bien los teletipos no tienen ninguna facilidad para el texto subrayado o en negrita, la salida de un subrayado, el retroceso y la impresión de otra cosa podrían hacer que esa otra cosa aparezca subrayada. Del mismo modo, la salida de un carácter, el retroceso y la salida del mismo carácter tenderían a hacer que el carácter aparezca más oscuro, aunque su efectividad variará dependiendo de la calidad de la cinta instalada (si la cinta era antigua y débil, escriba el mismo carácter dos veces). lo haría significativamente más oscuro; con una nueva cinta escribiendo el carácter, incluso una vez se lograría un nivel de negrura máximo. Además, incluso si un usuario no estuviera conectado a una impresora, redirigir la salida de
man
a una cola de impresión habría sido bastante común, lo que probablemente explica por quéman
se comportaría de esa manera incluso cuando se redirigiera la salida.Por cierto, en algunas impresoras (e incluso impresoras telefónicas), el rendimiento de
_←U_←N_←D_←E_←R_←L_←I_←N_←I_←N_←G
sería notablemente peor que___________←←←←←←←←←←←UNDERLINING
, ya que el primero requiere que el cabezal de impresión invierta repetidamente la dirección (y generalmente sobrepasa su objetivo en ambos extremos). Lo mismo sería cierto cuando se usa negrita de múltiples golpes también, pero el comportamiento podría ser ventajoso ya que la primera vez que se imprime cada carácter seguiría inmediatamente un carácter de retroceso y la segunda no. Si el cabezal de impresión estaba acelerando mientras imprimía el primer carácter, eso haría que se alineara ligeramente con respecto al segundo, haciendo que el efecto de cara negrita sea más efectivo.fuente
La respuesta de Mateusz es correcta, pero vale la pena señalar que, en lugar de eliminar el formato destinado a un tty, puede tener un formato de hombre diferente.
Por ejemplo, puedes obtener un pdf bien formateado con:
fuente
gzip -dc $(man -w ls) | groff -Thtml -mandoc -c > /tmp/man-ls.html
-t
formatos congroff -Tps ...
y de ejecutar cadenas en / usr / bin / man, eso parece estar codificado. Y desde-Tps
reemplaza a GROFF_TYPESETTER, su solución podría ser la más viable. Aunque le falta un paso en su tubería. Quieres tbl y luego groff. Tratarman -d ls
Para ver el oleoducto que utiliza.Como alternativa, tengo la siguiente función de shell definida (llamada desde Oh-my-ZSH el plugin de OS X):
Esto da como resultado que la página de manual deseada se abra en Vista previa con todo el formato bonito que uno podría desear. Es bastante fácil agregar este único alias a tu
~/.profile
(Yo creo quepman
es más fácil queman-preview
, así que me pusealias pman='man-preview
en mi~/.zshrc
).PD He visto el
pman
La función definida en varios archivos de puntos en Internet, Oh-my-ZSH resulta que es donde se define el mío.fuente
O puede usar ManOpen by Carl Lindberg para buscar e imprimir cualquier página de manual. ManOpen se desarrolló por primera vez para NeXtStep y aún funciona gracias a Carl.
fuente