统计文件的字节数、字数、行数
wc 命令是一个用来统计文件中的字数、行数、字符数等信息的工具。wc 是 word count 的缩写,意思是计算单词的数量。wc 命令可以对一个或多个文件进行统计,也可以从标准输入读取数据进行统计。wc 命令的输出结果包括以下四个部分:
wc 命令是一个基本的 Linux 命令,几乎所有的 Linux 发行版都支持它。如果你的系统没有安装 wc 命令,你可以使用以下命令进行安装:
sudo yum install coreutils
sudo dnf install coreutils
sudo apt install coreutils
wc [options] [files]
-
,则从标准输入读取数据。选项 | 说明 |
---|---|
-c | 只显示字符数 |
-l | 只显示行数 |
-w | 只显示单词数 |
-m | 只显示字节数 |
-L | 显示最长行的长度 |
如果不指定任何选项,则默认显示行数、单词数和字符数。
下面给出一些wc命令的实例,以及它们的输出结果。为了方便演示,我们假设有一个名为test.txt的文件,其内容如下:
Hello world!
This is a test file.
It has three lines.
使用 wc 命令对 test.txt 文件进行统计
wc test.txt
输出结果如下,表示test.txt文件有3行,6个单词,28个字符(包括空格和换行符)
3 6 28 test.txt
使用 -m
选项只显示字节数
wc -m test.txt
输出结果为如下,表示 test.txt 文件有28个字节(与字符数相同)
28 test.txt
使用 -L
选项只显示最长行的长度
wc -L test.txt
输出结果如下,表示 test.txt 文件中最长行是第二行,其长度为18个字符(不包括换行符)
18 test.txt
假设有另一个名为test2.txt的文件,其内容如下:
Hi there!
This is another test file.
It has four lines.
And some more words.
使用 wc 命令对 test.txt 和 test2.txt 两个文件进行统计
wc test.txt test2.txt
输出结果如下,表示表示test.txt文件有3行,6个单词,28个字符,test2.txt文件有4行,10个单词,46个字符,两个文件的总计有7行,16个单词,74个字符
3 6 28 test.txt
4 10 46 test2.txt
7 16 74 total
不指定文件,或者指定文件为 -
,则从标准输入读取数据
wc -
输入一些内容,如:
Hello bashcommandnotfound!
How are you?
按Ctrl+D结束输入,输出结果如下,表示输入的数据有2行,5个单词,20个字符
2 5 20
# 使用sed命令过滤出包含test的行
sed -n '/test/p' test.txt | wc
# 或者使用grep命令过滤出包含test的行
grep 'test' test.txt | wc
# 输出结果为:
2 4 22
# 表示test.txt文件中包含test的行有2行,4个单词,22个字符
# 使用find命令列出所有txt文件
find . -name '*.txt' | xargs wc
# 或者使用ls命令列出所有txt文件
ls *.txt | xargs wc
# 输出结果为:
3 6 28 ./test.txt
4 10 46 ./test2.txt
7 16 74 total
# 表示当前目录下有两个txt文件,分别是test.txt和test2.txt,它们的信息与前面的例子相同