[TOC]
简单的格式化工具
nl
添加行号
nl
命令用于简单的任务。它添加文件的行数:
$ nl foo.txt | head
1 The quack brown fox jumped over the lax dog.
2 I am the second Line.
3 This is the third Line.
# 同上
$ cat -n foo.txt
1 The quack brown fox jumped over the lax dog.
2 I am the second Line.
3 This is the third Line.
-
nl
既能接受多个文件作为命令行参数,也能标准输出。 -
nl
还有相当数量的选项并支持一个简单的标记方式去允许更多复杂的方式的计算。 -
nl
在计算文件行数的时候支持一个叫 “逻辑页面” 的概念。这允许nl
在计算的时候去重设(再一次开始)可数的序列。 - 如果
nl
同时处理多个文件,它会把他们当成一个单一的文本流。
常用 nl 选项 | 含义 | |
---|---|---|
-b style | 把 body 按被要求方式数行,可以是以下方式: | |
a = 数所有行 | ||
t = 数非空行。这是默认设置。 | ||
n = 无 | ||
pregexp = 只数那些匹配了正则表达式的行 | ||
-f style | 将 footer 按被要求设置数。默认是无 | |
-h style | 将 header 按被要求设置数。默认是 | |
-i number | 将页面增加量设置为数字。默认是一。 | |
-n format | 设置数数的格式,格式可以是: | |
ln = 左偏,没有前导零。 | ||
rn = 右偏,没有前导零。 | ||
rz = 右偏,有前导零。 | ||
-p | 不要在没一个逻辑页面的开始重设页面数。 | |
-s string | 在没一个行的末尾加字符作分割符号。默认是单个的 tab。 | |
-v number | 将每一个逻辑页面的第一行设置成数字。默认是一。 | |
-w width | 将行数的宽度设置,默认是六。 |
fold
限制文件列宽
# -w: 设定了行宽为 12 个字符。如果没有字符设置,默认是 80。
$ fold -w 12 foo.txt
The quack br
own fox jump
ed over the
lax dog.
I am the sec
ond Line.
This is the
third Line.
# -s: 增加考虑单词边界
$ fold -w 12 -s foo.txt
The quack
brown fox
jumped over
the lax dog.
I am the
second Line.
This is the
third Line.
fmt
文本格式转换器
fmt
程序同样折叠文本,外加很多功能。它接受文本或标准输入并且在文本流上呈现照片转换。
$ fmt -w 50 fmt-info.txt | head
However, in the name of opening your eyes to
maybe something a bit different, I’m going
to approach this a bit differently. I want to
consider a list of possible distributions that
are not only outstanding candidates but also
easy to use, and that can serve many functions
within your business. In some cases, my choices
are drop-in replacements for other operating
systems, whereas others require a bit of work
to get them up to speed.
默认来说,空白行,单词间距,还有缩进都会在输出中保留;持续输入不同的缩进的流不会被结合;tabs 被用来扩展 输入并且引入输出 。
到这里,文章就戛然而止了。可能是没翻译完还是什么。
参考:https://billie66.gitbooks.io/tlcl-cn/content/chap21/formatting-output.html
网友评论