在 Linux 中计算文件中的行数
Linux 命令 wc 和 nl 将帮助您识别文件中的字数、行数、字节数等。本教程通过各种示例解释了如何使用这两个非常有用的命令。
将在本文的示例中使用的基本文本文件如下所示:
$ cat sort.txt
UK
Australia
Newzealand
Brazil
America
Linux nl 命令示例
Linux 中的 nl 实用程序用于对文件的行数进行编号。
以下是手册页中的语法和描述:
概要
wc 和 nl 命令示例
描述
将每个 FILE 写入标准输出,并添加行号。没有 FILE,或者当 FILE 为 - 时,读取标准输入。
1. 一个基本的例子
这是一个基本示例,解释了如何使用 nl 命令对文件的行数进行编号。
$ cat sort.txt
UK
Australia
Newzealand
Brazil
America
$ nl sort.txt
1 UK
2 Australia
3 Newzealand
4 Brazil
5 America
所以我们看到使用 nl 命令,文件 sort.txt 的所有行都被编号了。
2. 使用 -i 选项增加任意值的行号
选项 -i 可用于覆盖行号的默认增量 1。
这是我们使用 -i 将行号增量增加到 5 的示例:
$ nl -i5 sort.txt
1 UK
6 Australia
11 Newzealand
16 Brazil
21 America
代替默认的 1,2,3... 行号现在以 5 为增量显示(即 1,6,11...)
3. 使用 -s 选项在行号后添加字符串
默认情况下,nl 命令只添加行号。但是,通过 -s 选项,可以添加任何可以充当行号和行文本之间分隔符的字符串。
这是一个例子:
$ nl -s. sort.txt
1.UK
2.Australia
3.Newzealand
4.Brazil
5.America
所以我们看到字符'.' 在行号之后添加。
4. 使用 -w 选项为行号使用不同的列
可以使用 -w 选项更改行号显示的列。
这是一个例子:
$ nl -w1 sort.txt
1 UK
2 Australia
3 Newzealand
4 Brazil
5 America
$ nl -w2 sort.txt
1 UK
2 Australia
3 Newzealand
4 Brazil
5 America
$ nl -w3 sort.txt
1 UK
2 Australia
3 Newzealand
4 Brazil
5 America
$ nl -w4 sort.txt
1 UK
2 Australia
3 Newzealand
4 Brazil
5 America
$ nl -w5 sort.txt
1 UK
2 Australia
3 Newzealand
4 Brazil
5 America
$ nl -w6 sort.txt
1 UK
2 Australia
3 Newzealand
4 Brazil
5 America
上面的详尽输出很好地说明了如何更改行号的显示列。
5. 使用 STYLE 使用 -b 选项为行编号
有多种样式可用于行编号。从手册页:
样式是以下之一:
- a – 为所有行编号
- t - 仅编号非空行
- n - 没有行数
- pBRE – 仅对包含基本正则表达式 BRE 匹配项的行进行编号
在下面的示例中,我使用正则表达式“pA”作为带有选项 -b 的样式。此正则表达式匹配以 'A' 开头的行,因此 nl 命令仅对这些行进行编号。
$ nl -bpA sort.txt
UK
1 Australia
Newzealand
Brazil
2 America
所以我们看到只有以“A”开头的行被编号了。
6. 使用 -n 选项使用不同的 FORMAT 插入行号
有多种格式可用于插入行号。从手册页:
格式是以下之一:
- ln – 左对齐,没有前导零
- rn - 右对齐,没有前导零
- rz - 右对齐,前导零
这是一个演示所有上述格式的示例:
$ nl -nln sort.txt
1 UK
2 Australia
3 Newzealand
4 Brazil
5 America
$ nl -nrn sort.txt
1 UK
2 Australia
3 Newzealand
4 Brazil
5 America
$ nl -nrz sort.txt
000001 UK
000002 Australia
000003 Newzealand
000004 Brazil
000005 America
请注意,您还可以使用sed 命令计算文件中的行数。
Linux wc 命令示例
Linux 中的 wc 实用程序用于打印文件的换行数、字数、字节数等信息。
以下是手册页中的语法和描述:
概要
wc [OPTION]… [FILE]…
wc [OPTION]… –files0-from=F描述
打印每个 FILE 的换行符、单词和字节计数,如果指定了多个 FILE,则打印总行数。没有 FILE,或者
当 FILE 为 - 时,读取标准输入。单词是由空格分隔的非零长度字符序列。
1. 一个基本的例子
这是 Linux wc 命令的基本示例:
$ cat sort.txt
UK
Australia
Newzealand
Brazil
America
$ wc sort.txt
5 5 41 sort.txt
输出中产生的三个数字对应于行数、字数和字节数。这三个数字后面是文件名。
2.通过-w选项显示字数
可以通过 -w 选项显式显示文件的字数。
这是一个例子:
$ wc -w sort.txt
5 sort.txt
所以我们看到打印的单词数后跟文件名。
3.通过-L选项显示最长线的长度
wc 命令提供了一个选项 -L 可用于显示文件中最长行的长度。
这是一个例子:
$ wc -L sort.txt
10 sort.txt
所以我们看到输出中显示了最长线的长度(在我们的例子中为“Newzealand”)。
4.通过-l选项显示换行数
wc 命令提供了一个选项 -l 通过它可以在输出中显示换行符的数量。
这是一个例子:
$ wc -l sort.txt
5 sort.txt
所以我们看到文件 sort.txt 中有 5 个换行符
5.通过-c选项显示字节数
可以使用 wc 命令的 -c 选项显示文件中的总字节数。
这是一个例子:
$ wc -c sort.txt
41 sort.txt
- 点赞
- 收藏
- 关注作者
评论(0)