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
wc
wc [-c l L w] [file…]
-L 显示最长行的长度
Unix
使用制表符的方式制表位 tab
stop
当终端遇到制表符时,它像打字机一样将光标移动到当前行的下一个制表位。
在vi
中查看,
:set list; :set nolist
制表符将显示为^I
。
expand
expand [-i] [-t size | -t list] [file...]
-i (initial)只转换行开头的制表符 -t 设置每个制表符为指定数字的宽度,而不是默认的8 -t 指定制表符位置列表,用逗号分隔
unexpand
unexpand [-a] [-t size | -t list] [file...]
expand
和unexpand
之间最大的区别就是在默认情况下,unexpand
只把行开头的空格转换为制表符。这是因为大多数时候,只使用unexpand
进行缩进,并不希望替换中间的所有空格。可以使用-a
(all
,全部)选项,unexpand
将替换所有的空格,即使这些空格并没有位于行的开头。
fold
fold [-s] [-w width] [file...]
-w width,最大长度 -s break at spaces
fmt
fmt
的目标就是将段落中的各行连接在一起,从而使段落尽可能的短小和紧凑,而且不会改变内容和空白符。
fmt [-su] [-w width] [file...]
-u uniform space,统一间距,告诉fmt只减少空格,使单词之间最多只能有一个空格,句子末尾最多只能有两个空格。 -s split only,仅拆分长行,不连接短行(处理程序时)
打印作业
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字符/行 |
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