man帮助文档打印
这里不讨论大家都知道的man重定向的一般常用方法(col处理方法)
$ man find | col -b > man_fine.txt
【跟着我的思路走】
假如您像我一样,直接使用如下命令导出find命令的man帮助文档页
$ man find > man_find.txt
在您使用vim查看导出文档man_find.txt时,您会发现,在文档中到处充斥了^H符号,而且是蓝颜色的(Linux下表示控制字符)。
到这里,您有没有一种冲动,想使用vim的方法处理一下这些特殊字符呢?
方法如下:
在底线模中输入如下内容,然后回车(千万要注意这里^H的输入方法:先键击Ctrl键不要放手,然后依次键击字母V和字符H,完成输入)
:%s/^H//g
如果您是按照我的这个思路操作的,到这一步处理完成之后,你会发现结果并不是我们想要的,在这个处理后的文档中n多n多的字母都是重复的!显然这样的处理方法是欠妥当的。
仔细观察一下这个结果和原始文档中的“乱码”特点,原来我们不仅仅要删除^H控制字符,同时还要删除紧跟在^H它前面的字母!
目标明确了,该如何操作呢?
对头,在vim中“.”表示匹配任意字母,所以
将
:%s/^H//g
修改为
:%s/.^H//g
搞定,完成任务,一个清晰的find命令的man帮助文档也展现在了我们vim的界面中。
请您也动手试验一下这个小方法,是不是很灵光。
【一句话总结】
使用vim处理man重定向帮助文件乱码问题
方法:
底线模:%s/.^H//g完成处理。
在 man ld.so>ld.so后
vim打开ld.so后出现重叠乱码问题
但是cat、less可以正常查看
解决办法: man ld.so|col -b >ld.so
col命令是一个标准输入文本过滤器,它从标注输入设备读取文本内容,并把内容显示到标注输出设备。在许多UNIX说明文件里,
都有RLF控制字符。当我们运用shell特殊字符>和>>,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col命令则
能有效滤除这些控制字符。
-b:过滤掉所有的控制字符,包括RLF(Reverse Line Feed)和HRLF(Halt RLF);
-f:滤掉RLF字符,但允许将字HRLF符呈现出来;
-x:以多个空格字符来表示跳格字符;
-l<缓冲区列数>:预设的内存缓冲区有128列,用户可以自行指定缓冲区的大小。
打印man帮助文档sh脚本(vi man.sh)
#!bin/bash
#我没写头文件,,,,我的天
man bash |col -b > bash.doc &&
man : |col -b > maohao.doc &&
man . |col -b > juhao.doc &&
man alias |col -b > alias.doc &&
man bg |col -b > bg.doc &&
man bind |col -b > bind.doc &&
man break |col -b > break.doc &&
man builtin |col -b > builtin.doc &&
man caller |col -b > caller.doc &&
man cd |col -b > cd.doc &&
man command |col -b > command.doc &&
man compgen |col -b > compgen.doc &&
man complete |col -b > complete.doc &&
man continue |col -b > continue.doc &&
man declare |col -b > declare.doc &&
man dirs |col -b > dirs.doc &&
man disown |col -b > disown.doc &&
man echo |col -b > echo.doc &&
man enable |col -b > enable.doc &&
man eval |col -b > eval.doc &&
man exec |col -b > exec.doc &&
man exit |col -b > exit.doc &&
man export |col -b > export.doc &&
man false |col -b > false.doc &&
man fc |col -b > fc.doc &&
man fg |col -b > fg.doc &&
man getopts |col -b > getopts.doc &&
man hash |col -b > hash.doc &&
man help |col -b > help.doc &&
man history |col -b > history.doc &&
man jobs |col -b > jobs.doc &&
man kill |col -b > kill.doc &&
man let |col -b > let.doc &&
man local |col -b > local.doc &&
man logout |col -b > logout.doc &&
man mapfile |col -b > mapfile.doc &&
man popd |col -b > popd.doc &&
man printf |col -b > printf.doc &&
man pushd |col -b > pushd.doc &&
man pwd |col -b > pwd.doc &&
man read |col -b > read.doc &&
man readonly |col -b > readonly.doc &&
man return |col -b > return.doc &&
man set |col -b > set.doc &&
man shift |col -b > shift.doc &&
man shopt |col -b > shopt.doc &&
man source |col -b > source.doc &&
man suspend |col -b > suspend.doc &&
man test |col -b > test.doc &&
man times |col -b > times.doc &&
man trap |col -b > trap.doc &&
man true |col -b > true.doc &&
man type |col -b > type.doc &&
man typeset |col -b > typeset.doc &&
man ulimit |col -b > ulimit.doc &&
man umask |col -b > umask.doc &&
man unalias |col -b > unalias.doc &&
man unset |col -b > unset.doc &&
man wait |col -b > wait.doc &&
#chmod 700 man.sh
#sh man.sh
脚本执行出的文件如何下载到Windows上呢,看下一篇centos6.5-vsftp搭建
man帮助文档打印的更多相关文章
- C#中5步完成word文档打印的方法
在日常工作中,我们可能常常需要打印各种文件资料,比如word文档.对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作.特别是提到Web打印,这的确会很棘手.一般如果要想选 ...
- C# 对Excel文档打印时的页面设置
1.对打印页面的朝向,页宽,页高进行设置 参考源码[1] using Excel = Microsoft.Office.Interop.Excel; Excel.Application tmpExce ...
- xps文档打印后winform界面文字丢失
最近做的xps文档打印功能,绝对的一波三折,一开始开发的时候,始终用的是xps writer 虚拟打印机,测试的时候也是,一直没有发现问题,但是真正到用户使用的时候,接上正式打印机,打印时候没有问题, ...
- PDF文档打印太慢怎么办
如下图,用Adobe Acrobat打开PDF文件,然后[高级]-打勾[作为图像打印]即可
- 文档打印 js print调用打印dom内容
1.首先按目前研究 print可以打印dom 2.被设置overflow:hidden 的模块,打印时会被截掉. 3.被设置成 display:none 的dom 打印不会有样式 边框等. 4.如果需 ...
- php将用户信息提交到表单并且以txt文档打印出来
1.分析: ====不推荐这种======== <?php function foo(){ // global $message; if(empty($_POST['username'])){ ...
- C# 设置Excel打印选项及打印excel文档
C# 设置Excel打印选项及打印excel文档 打印Excel文档是一个很常见的操作,但有时候我们会碰到各种不同的打印需求,例如只打印一个Excel工作表的其中一部分,或打印时每页都有表头,或把工作 ...
- 一键批量打印EXCEL、WORD文档
一键批量打印EXCEL.WORD文档,本方法也可以打印同一个文档N份,可以批量打印A3.A4文档,包括单.双面打印等.希望能帮到广大朋友.请大家注重原创版权,不得在未经许可的下转载.传播,或者用来对同 ...
- C# 打印PDF文档的10种方法
操作PDF文档时,打印是常见的需求之一.针对不同的打印需求,可分多种情况来进行,如设置静默打印.指定打印页码范围和打印纸张大小.双面打印.黑白打印等等.经过测试,下面将对常见的几种PDF打印需求做一些 ...
随机推荐
- ajaj简介
1. 什么是ajax? ajax的全称 Asynchronous(异步) JavaScript and XML. ajax是一种用于创建快速动态网页的技术. 主要用于前后台的交互,在前后台的交互中还有 ...
- [LeetCode] Minimum Cost to Merge Stones 混合石子的最小花费
There are N piles of stones arranged in a row. The i-th pile has stones[i] stones. A move consists ...
- 压力测试工具 ab
ab 是Apache 自带的一个压力测试工具,命令行,是 ApacheBench 命令的缩写. ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基 ...
- 算法与数据结构(五) 普利姆与克鲁斯卡尔的最小生成树(Swift版)
上篇博客我们聊了图的物理存储结构邻接矩阵和邻接链表,然后在此基础上给出了图的深度优先搜索和广度优先搜索.本篇博客就在上一篇博客的基础上进行延伸,也是关于图的.今天博客中主要介绍两种算法,都是关于最小生 ...
- mantisbt的配置与安装
下载并安装wampserver; 安装时,提示SMTP服务器时,应正确填写邮箱的SMTP的服务器地址: 安装完成后,登录phpMyAdmin; 给原有的root用户创建密码,所有root用户: 创建一 ...
- 解决微信小程序video属性controls失效问题
<view class="VideoBox"> <video class='myVideo' id="myVideo01" src=" ...
- 文末福利丨i春秋互联网安全校园行第1站精彩回顾
活动背景 为响应国家完善网络安全人才培养体系.推动网络安全教育的号召,i春秋特此发起“互联网安全校园行”系列活动.旨在通过活动和知识普及提升大学生信息安全意识,并通过线下交流.技能分享.安全小活动以及 ...
- PHP零基础入门
字符函数库: 函数库基础 安装字符串函数库 字符串函数库列表 函数是可以实现特定功能,可以重复执行的代码段. 函数分 内置函数 和 用户函数. 内置函数是指PHP本身提供的各类库函数. 字符串函数库, ...
- NumPy 学习笔记(三)
NumPy 数组操作: 1.修改数组形状 a.numpy.reshape(arr, newshape, order='C') 在不改变数据的条件下修改形状 b.numpy.ndarray.flat 是 ...
- B+树的Copy-on-Write设计
本文主要介绍B+树的Copy-On-Write,包括由来.设计思路和核心源码实现(以Xapian源码为例).中文的互联网世界里,对B树.B+树的科普介绍很丰富,但对它们在工业界的实际使用却几乎没有相关 ...