Pregunta

Seems like this should be a pretty simple one, but I can't figure it out (obviously).

When I open a terminal window and run, for example, the command man ffmpeg, the output I see within the terminal looks like this:

FFMPEG(1)                                                            FFMPEG(1)

NAME
       ffmpeg - ffmpeg video converter

SYNOPSIS
       ffmpeg [global_options] {[input_file_options] -i input_file} ...
       {[output_file_options] output_file} ...

DESCRIPTION
       ffmpeg is a very fast video and audio converter that can also grab from
       a live audio/video source. It can also convert between arbitrary sample
       rates and resize video on the fly with a high quality polyphase filter.

... which is how I would expect it to look. However, when I try to dump that info into a text file using the command man ffmpeg > man_ffmpeg.txt the results I get look like this:

FFMPEG(1)                                                            FFMPEG(1)



NNAAMMEE
       ffmpeg - ffmpeg video converter

SSYYNNOOPPSSIISS
       ffmpeg [_g_l_o_b_a_l___o_p_t_i_o_n_s] {[_i_n_p_u_t___f_i_l_e___o_p_t_i_o_n_s] -i _i_n_p_u_t___f_i_l_e} ...
       {[_o_u_t_p_u_t___f_i_l_e___o_p_t_i_o_n_s] _o_u_t_p_u_t___f_i_l_e} ...

DDEESSCCRRIIPPTTIIOONN
       ffmpeg is a very fast video and audio converter that can also grab from
       a live audio/video source. It can also convert between arbitrary sample
       rates and resize video on the fly with a high quality polyphase filter.

All I want to do is have what I would normally see inside the terminal dumped into a text file, but obviously I'm doing something wrong. What's the best way to do this?

¿Fue útil?

Solución

man output has a lot of hidden backspace characters. All the extra S and BS characters you see are special characters. The following command will clear those:

man ffmpeg | col -b > man_ffmpeg.txt

Now you get crystal clear plain text output.

Source:

man man

...

To get a plain text version of a man page, without backspaces and underscores, try

# man foo | col -b > foo.mantxt

Edit: Minor clarification

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top