Unix & Linux 笔记(9)
2016-05-27 15:38
369 查看
第18章 过滤器:统计和格式化
18.1 创建行号:nl
在文本中插入临时行号。nl [-v start] [-i increment] [-b a] [-n ln|rn|rz] [file…] -v 起始行号 -i 增量 -b a(all),强制对所有行编号,body numbering -n number format(不常用) ln 左对齐,没有前导0 rn 右对齐,没有前导0 rz 右对齐,有前导0
18.2 统计行、单词和字符数量:wc
wc [-c l L w] [file…] -L 显示最长行的长度
18.3 Unix
使用制表符的方式
制表位 tab
stop
当终端遇到制表符时,它像打字机一样将光标移动到当前行的下一个制表位。
18.4 可视化制表符和空格
在vi中查看,
:set list; :set nolist
制表符将显示为
^I。
18.5 将制表符转化成空格:expand
expand [-i] [-t size | -t list] [file...] -i (initial)只转换行开头的制表符 -t 设置每个制表符为指定数字的宽度,而不是默认的8 -t 指定制表符位置列表,用逗号分隔
18.6 将空格转换成制表符:unexpand
unexpand [-a] [-t size | -t list] [file...]
expand和
unexpand之间最大的区别就是在默认情况下,
unexpand只把行开头的空格转换为制表符。这是因为大多数时候,只使用
unexpand进行缩进,并不希望替换中间的所有空格。可以使用
-a(
all,全部)选项,
unexpand将替换所有的空格,即使这些空格并没有位于行的开头。
18.7 格式化行:fold
fold [-s] [-w width] [file...] -w width,最大长度 -s break at spaces
18.8 80字符行
18.9 格式化段落:fmt
fmt的目标就是将段落中的各行连接在一起,从而使段落尽可能的短小和紧凑,而且不会改变内容和空白符。
fmt [-su] [-w width] [file...] -u uniform space,统一间距,告诉fmt只减少空格,使单词之间最多只能有一个空格,句子末尾最多只能有两个空格。 -s split only,仅拆分长行,不连接短行(处理程序时)
18.10 打印的旧时代
打印作业18.11 按列格式化文本:pr
pr主要功能是按页格式化文本,使其适合于打印。
pr [-dt] [+beg[:end]] [-h text] [-l n] [-o margin] [-W] [file...] -d 双倍行距 -t 消除标题,页之间没有了间隔 -o offset,默认情况下,pr不插入左边缘,因为打印机自动创建边缘
beg是需要格式化的第一页,
end是需要格式化的最后一页;
text是标题中间的文本;
margin是左边缘大小;
width是输出的宽度,
file是文件的名称。
calculate | pr | lp fmt –s –w 45 essay | pr –d –o 5 –W 50 | lpr
字处理程序将每个段落存储为一个长行。
程序 | 行宽 |
---|---|
fold | 80字符/行 |
fmt | 75字符/行 |
pr | 72字符/行 |
18.12 按列格式化文本:pr
pr [-mt] [-columns] [-l lines] [-W width] [file...]
columns是输出的列数,
lines是每页的行数,
width是输出的宽度,
file是文件的名称。
fmt –w 35 article | pr -2 –l 48 > article-columns
在文本分列时,
pr会盲目的截断太长的行。因此,如果文本所包含行的长度大于列宽,那么在将文本发送给
pr之前必须使用
fold –s或者
fmt分隔行。
pr将多个文本分别格式化成单独的列,使用
-m(
merge)选项,
pr将在单独的列中输出每个文件。
pr -m file1 file2 file3
相关文章推荐
- Java Project项目在Linux下部署步骤及注意事项
- kali linux 执行update更新后不能install安装软件
- LinuxC/C++编程(7)—守护进程
- java project 项目在 linux 下面部署步骤
- 慕课linux学习笔记(九)常用命令(6)
- linux介绍与安装
- Unix & Linux笔记(8)
- Linux移植【0】NandFlash无法挂在根文件系统
- centos zookeeper 实战之集群搭建
- Unix & Linux笔记(7)
- 采用usb线刷linux固件的原理
- Linux开发常用命令
- Smart210学习记录-----Linux i2c驱动
- sk_buff结构
- centos解压.tar.xz 文件的方法
- [置顶] 【Linux】 配置vim
- mycat的一些概念
- 设置CENTOS 7的内外网IP步骤
- 文件系统与文件属性
- Linux centos下使用fdisk扩展分区容量大小