有时候想看看linux命令的说明文档,但是在linux下,如果直接man iptables>iptables.txt,
肯定会发现有很多^H字符(例如centos,有时候在其他发行版本中不会出现这种情况)。解决方法是,可以用col过滤,例如
man iptables | col -b > iptables.txt -b表示过滤backspace字符
也可以用tee代替>
man iptables | col -b |tee iptables.txt
***************************************************************************
man col:
NAME
col - filter reverse line feeds from input
SYNOPSIS
col [-bfpx] [-l num]
DESCRIPTION
Col filters out reverse (and half reverse) line feeds so the output is in
the correct order with only forward and half forward line feeds, and
replaces white-space characters with tabs where possible. This can be
useful in processing the output of nroff(1) and tbl(1).
Col reads from standard input and writes to standard output.
The options are as follows:
-b Do not output any backspaces, printing only the last character
written to each column position.
-f Forward half line feeds are permitted (‘‘fine’’ mode). Normally
characters printed on a half line boundary are printed on the fol-
lowing line.
-p Force unknown control sequences to be passed through unchanged.
Normally, col will filter out any control sequences from the input
other than those recognized and interpreted by itself, which are
listed below.
-x Output multiple spaces instead of tabs.
-lnum Buffer at least num lines in memory. By default, 128 lines are
buffered.
The control sequences for carriage motion that col understands and their
decimal values are listed in the following table:
ESC-7 reverse line feed (escape then 7)
ESC-8 half reverse line feed (escape then 8)
ESC-9 half forward line feed (escape then 9)
backspace moves back one column (8); ignored in the first column
carriage return (13)
newline forward line feed (10); also does carriage return
shift in shift to normal character set (15)
shift out shift to alternate character set (14)
space moves forward one column (32)
tab moves forward to next tab stop (9)
vertical tab reverse line feed (11)
All unrecognized control characters and escape sequences are discarded.
Col keeps track of the character set as characters are read and makes
sure the character set is correct when they are output.
If the input attempts to back up to the last flushed line, col will dis-
play a warning message.
SEE ALSO
expand(1), nroff(1), tbl(1)
STANDARDS
The col utility conforms to the Single UNIX Specification, Version 2. The
-l option is an extension to the standard.
HISTORY
A col command appeared in Version 6 AT&T UNIX.
BSD June 17, 1991 BSD
*********************************************************************************
man tee:
NAME
tee - read from standard input and write to standard output and files
SYNOPSIS
tee [OPTION]... [FILE]...
DESCRIPTION
Copy standard input to each FILE, and also to standard output.
-a, --append
append to the given FILEs, do not overwrite
-i, --ignore-interrupts
ignore interrupt signals
--help display this help and exit
--version
output version information and exit
If a FILE is -, copy again to standard output.
AUTHOR
Written by Mike Parker, Richard M. Stallman, and David MacKenzie.
REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.
COPYRIGHT
Copyright ? 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the
terms of the GNU General Public License
<http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the
extent permitted by law.
SEE ALSO
The full documentation for tee is maintained as a Texinfo manual. If
the info and tee programs are properly installed at your site, the com-
mand
info tee
should give you access to the complete manual.
tee 5.97 February 2010 TEE(1)