在Linux中,如何查看文件有多少行?
如何统计文件中的总行数?
还有一些命令
除了上述命令外,了解一些很少使用的命令来查找文件中的行数也很有好处。
- 使用 nl 命令(行编号过滤器)给每一行编号。
命令的语法是:
$ nl [filename]
示例输出:
$ nl file01.txt 1 this is a sample 2 file 3 with 4 some sample 5 data
不是那么直接的方式来获得行数。
但是我们可以使用 awk 或者 sed 从最后一行获取计数。
例如:
$ nl file01.txt | tail -1 | awk '{print }' 5
你也可以使用vi 和vim 的命令":set number" 来设置每一行的数字,如下所示。
如果文件很大,可以使用“Shift+G”转到最后一行并获取行数。使用带有 -n 开关的 cat 命令来为每一行编号。
同样,在这里我们可以从最后一行获取行数。
$ cat -n file01.txt 1 this is a sample 2 file 3 with 4 some sample 5 data
$ cat -n file01.txt | tail -1 | awk '{print }' 5
- 你也可以使用 perl one lines 来查找行数:
$ perl -lne 'END { print $. }' file01.txt 5
使用 awk
如果我们必须要使用 awk 来查找行数,请使用以下 awk 命令:
$ awk 'END{print NR}' [filename]
示例输出:
$ awk 'END{print NR}' file01.txt 5
使用“wc -l”
有几种方法可以计算文件中的行数。
但最简单和广泛使用的方法之一是使用“wc -l”。
wc 实用程序将每个输入文件或者标准输入(如果未指定文件)中包含的行数、字数和字节数显示到标准输出。
语法是:
# wc -l [filename]
因此,请考虑如下所示的文件:
$ cat file01.txt this is a sample file with some sample data
- 在这个文件上运行“wc -l”命令时,输出行数和文件名。
$ wc -l file01.txt 5 file01.txt
- 要从结果中省略文件名,请使用:
$ wc -l < file01.txt 5
- 我们始终可以使用管道将命令输出提供给 wc 命令。
例如:
$ cat file01.txt | wc -l 5
我们可以在此处使用任何命令而不是 cat。
任何命令的输出都可以通过管道传输到 wc 命令以计算输出中的行数。
欢迎来到之路教程(on itroad-com)
使用 sed
使用以下 sed 命令语法使用 GNU sed 查找行数:
$ sed -n '$=' [filename]
示例输出:
$ sed -n '$=' file01.txt 5
使用 grep
我们的老朋友“grep”也可以用来计算文件中的行数。
这些示例只是让我们知道有多种方法可以在不使用“wc -l”的情况下计算行数。
但是如果被问到我将始终使用“wc -l”而不是这些选项,因为它太容易记住了。
$ grep -c ".*" [filename]
示例输出:
$ grep -c ".*" file01.txt 5
使用 GNU grep,我们可以使用以下 grep 语法:
$ grep -Hc ".*" [filename]
这是用于查找行数的 grep 命令的另一个版本。
$ grep -c ^ file01.txt 5
示例输出:
$ grep -Hc ".*" file01.txt file01.txt:5
日期:2020-09-17 00:10:54 来源:oir作者:oir