Chinaunix

标题: 已解决:关于如何提取man的内容为纯文本? [打印本页]

作者: cliffordbear    时间: 2008-01-24 22:10
标题: 已解决:关于如何提取man的内容为纯文本?
man bash > bash.man
vi bash.man的时候会出现很多像_^H这样的乱码,不知道有没有好的办法可以解决,谢谢!
在HP和Solaris下面都试过。

问题原因解释在4楼,大家自己看。

[ 本帖最后由 cliffordbear 于 2008-1-26 22:47 编辑 ]
作者: davistar    时间: 2008-01-24 22:23
man ls|col -b > ls.txt
作者: cliffordbear    时间: 2008-01-25 20:59
原帖由 davistar 于 2008-1-24 22:23 发表
man ls|col -b > ls.txt

谢谢了,这个方法可以解决。可以生成一个文件类型为English TEXT的ls.txt
但是看man col的时候不是太明白,能不能讲一下
col -b 是起的什么作用,谢谢!
作者: ivhb    时间: 2008-01-25 21:48
^H其实就是退格。
在一般的打印格式里面,比如行式打印。
打印到 A^HA,会做什么动作呢? 先打印A,打印头挪到下一个位置。遇到了^H(退格),又回到了A的位置,再打印一遍A,在打印纸上就能看到这个A明显得比其他字符黑粗。实现了黑体打印的效果。
实际上你仔细观察一下文件,很有规律的,每个出现^H的地方,对应的就是直接man的高亮部分。
而且,^H两边的字符肯定是一样的。
根据这个,你可以制作自己的高亮效果。
选择要高亮的文本部分。然后vi/sed   s/./&^H&/g 保存后,再more这个文件,看看什么效果?
col -b就是用来把X^HX部分,合并成X的过程。如果用C来写,将是非常简单的事情。
作者: mcolinc    时间: 2008-01-26 16:57
又学到了
谢谢
作者: cliffordbear    时间: 2008-01-26 22:46
原帖由 ivhb 于 2008-1-25 21:48 发表
^H其实就是退格。
在一般的打印格式里面,比如行式打印。
打印到 A^HA,会做什么动作呢? 先打印A,打印头挪到下一个位置。遇到了^H(退格),又回到了A的位置,再打印一遍A,在打印纸上就能看到这个A明显得比 ...

哦,懂了。非常感谢你的热心帮助!
作者: hs5bronco    时间: 2008-01-27 12:18
为什么用vi新建一个文件输入A^HA为什么就没有高亮的效果呢?
在man导出的文件里的某个字符后^H就可以
作者: ivhb    时间: 2008-01-27 12:31
vi本身没有格式化的效果。
需要用more来看。对于more来说,他会解释^H
作者: hs5bronco    时间: 2008-01-27 15:34
具体是这样的:
我man col>col.man   vi col.man  显示很多^H,比如^HN,^H前面的字符不可见,后面的N是高亮的,删除这个高亮N,前面的"隐形"N出现
在这个文件中我在任意一个字符后面输入ctrl+V+H然后再输入相同字符,可以使这个字符高亮.我用less col.man也可以正确显示高亮字符
但我vi test  手动输入A^HA则没有这种效果,less test也确实没有高亮
不解
作者: yueliangdao0608    时间: 2008-02-01 15:12
原帖由 ivhb 于 2008-1-27 12:31 发表
vi本身没有格式化的效果。
需要用more来看。对于more来说,他会解释^H



说出了本质阿。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2