use*_*148 4 linux bash manpage
我将输出重定向man djpeg到文本文件中,以便在学习使用它时可以引用它.我的指示是man djpeg > textfile.txt.但是,输出看起来像这样:
LS(1) BSD General Commands Manual LS(1)
NNAAMMEE
llss -- list directory contents
SSYYNNOOPPSSIISS
llss [--AABBCCFFGGHHLLOOPPRRSSTTUUWW@@aabbccddeeffgghhiikkllmmnnooppqqrrssttuuwwxx11] [_f_i_l_e _._._.]
DDEESSCCRRIIPPTTIIOONN
For each operand that names a _f_i_l_e of a type other than directory, llss
displays its name as well as any requested, associated information. For
each operand that names a _f_i_l_e of type directory, llss displays the names
of files contained within that directory, as well as any requested, asso-
ciated information.
If no operands are given, the contents of the current directory are dis-
played. If more than one operand is given, non-directory operands are
displayed first; directory and non-directory operands are sorted sepa-
rately and in lexicographical order.
The following options are available:
--@@ Display extended attribute keys and sizes in long (--ll) output.
--11 (The numeric digit ``one''.) Force output to be one entry per
line. This is the default when output is not to a terminal.
--AA List all entries except for _. and _._.. Always set for the super-
user.
--aa Include directory entries whose names begin with a dot (_.).
--BB Force printing of non-printable characters (as defined by
ctype(3) and current locale settings) in file names as \_x_x_x,
where _x_x_x is the numeric value of the character in octal.
--bb As --BB, but use C escape codes whenever possible.
[...continues]
Run Code Online (Sandbox Code Playgroud)
还有更多,但你明白了.为什么要重复一些角色呢?另外,如果某些功能执行两次或缓存刷新错误,为什么不重复所有这些?
更简洁的方法是首先将输出传递给"col -b":
man djpeg | col -b > textfile.txt
Run Code Online (Sandbox Code Playgroud)
资料来源:https://unix.stackexchange.com/a/15866
'man' 程序最初设计用于在电传打字机上打印其输出,并使用叠印来产生粗体字符和下划线效果。您实际看到的是包含表单字符串的文件的效果X^HX,其中 ^H 是退格字符。您还有像_^HX, 用于下划线的字符串(因此是 _f_i_l_e)。
这些可以使用文本编辑器轻松剥离,如vi,它将显示退格。
:%s/_^H//g
Run Code Online (Sandbox Code Playgroud)
将删除下划线,和
:%s/.^H.//g
Run Code Online (Sandbox Code Playgroud)
粗体(上面的 ^H 是 ctrl-H。您必须使用ctrl-V ctrl-H将这些输入到 vi 中。