如何在将手册页转储到文本文件时保留格式

时间:2013-06-10 23:40:06

标签: formatting terminal man

看起来这应该是一个非常简单的,但我无法弄明白(显然)。

当我打开终端窗口并运行命令man ffmpeg时,我在终端中看到的输出如下所示:

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.

......这就是我期待的样子。但是,当我尝试使用命令man ffmpeg > man_ffmpeg.txt将该信息转储到文本文件中时,结果我看起来像这样:

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.

我想要做的就是将通常在终端内看到的内容转储到文本文件中,但显然我做错了。最好的方法是什么?

1 个答案:

答案 0 :(得分:5)

man输出有很多隐藏的退格符。您看到的所有额外SBS字符都是特殊字符。以下命令将清除这些:

man ffmpeg | col -b > man_ffmpeg.txt

现在您可以获得清晰的纯文本输出。

来源:

  男人

     

...

     

要获取手册页的纯文本版本,不要使用退格键和下划线,请尝试

     

#man foo | col -b> foo.mantxt

编辑:轻微澄清