侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux下wc命令用法详解及实例:如何快速统计文件中的行数、单词数和字符数?

Linux wc命令介绍

Linux wc命令是一个用来统计文件中的字数、行数、字符数等信息的工具。wc是word count的缩写,意思是计算单词的数量。wc命令可以对一个或多个文件进行统计,也可以从标准输入读取数据进行统计。wc命令的输出结果包括以下四个部分:

  • 行数:表示文件中有多少行。
  • 单词数:表示文件中有多少个由空格分隔的单词。
  • 字符数:表示文件中有多少个字符,包括空格和换行符。
  • 文件名:表示被统计的文件的名称。

适用的Linux版本

wc命令是一个基本的Linux命令,几乎所有的Linux发行版都支持它。如果你的系统没有安装wc命令,你可以使用以下命令进行安装:

  • 对于使用yum包管理器的系统,如CentOS 7,你可以使用sudo yum install coreutils命令进行安装。
  • 对于使用dnf包管理器的系统,如CentOS 8,你可以使用sudo dnf install coreutils命令进行安装。
  • 对于使用apt包管理器的系统,如Ubuntu,你可以使用sudo apt install coreutils命令进行安装。

Linux wc命令的基本用法

wc命令的语法格式如下:

wc [选项]... [文件]...

其中,[选项]表示可以指定一些参数来控制输出结果的格式,[文件]表示要统计的一个或多个文件。如果没有指定文件,或者文件为"-",则从标准输入读取数据。

Linux wc命令的常用选项说明

wc命令有很多选项,但是最常用的有以下几个:

选项说明
-c只显示字符数
-l只显示行数
-w只显示单词数
-m只显示字节数
-L显示最长行的长度

如果不指定任何选项,则默认显示行数、单词数和字符数。

Linux wc命令的实例

下面给出一些wc命令的实例,以及它们的输出结果。为了方便演示,我们假设有一个名为test.txt的文件,其内容如下:

Hello world!
This is a test file.
It has three lines.
  • 统计test.txt文件中的行数、单词数和字符数:
# 使用wc命令对test.txt文件进行统计
wc test.txt
# 输出结果为:
3  6 28 test.txt
# 表示test.txt文件有3行,6个单词,28个字符(包括空格和换行符)
  • 统计test.txt文件中的字节数:
# 使用-m选项只显示字节数
wc -m test.txt
# 输出结果为:
28 test.txt
# 表示test.txt文件有28个字节(与字符数相同)
  • 统计test.txt文件中最长行的长度:
# 使用-L选项只显示最长行的长度
wc -L test.txt
# 输出结果为:
18 test.txt
# 表示test.txt文件中最长行是第二行,其长度为18个字符(不包括换行符)
  • 统计多个文件中的信息,并显示总计:
# 假设有另一个名为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
# 输出结果为:
 3  6 28 test.txt
 4 10 46 test2.txt
 7 16 74 total
# 表示test.txt文件有3行,6个单词,28个字符,test2.txt文件有4行,10个单词,46个字符,两个文件的总计有7行,16个单词,74个字符
  • 从标准输入读取数据进行统计:
# 不指定文件,或者指定文件为"-",则从标准输入读取数据
wc -
# 输入一些内容,如:
Hello bashcommandnotfound!
How are you?
# 按Ctrl+D结束输入,输出结果为:
2  5 20
# 表示输入的数据有2行,5个单词,20个字符

Linux wc命令的注意事项

  • wc命令的单词数统计是基于空格分隔的,如果一个单词中包含空格或其他分隔符,如连字符、下划线等,则会被认为是多个单词。例如,"Hello-world"会被认为是两个单词,而不是一个。
  • wc命令的字符数统计是基于字节的,如果一个字符占用多个字节,则会被认为是多个字符。例如,中文字符通常占用两个或三个字节,则会被认为是两个或三个字符,而不是一个。
  • wc命令的字节数统计是基于实际占用的空间的,如果一个文件中包含不可打印的字符,如制表符、退格符等,则会被计算在内。例如,一个制表符通常占用8个字节,则会被认为是8个字节,而不是一个。

Linux wc命令的高级技巧

  • 如果你想对一个文件中的某些行进行统计,你可以使用sed命令或grep命令来过滤出你想要的行,然后将结果传递给wc命令。例如,如果你想统计test.txt文件中包含test的行的信息,你可以使用以下命令:
# 使用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命令或ls命令来列出所有文件,然后将结果传递给wc命令。例如,如果你想统计当前目录下的所有txt文件的信息,你可以使用以下命令:
# 使用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,它们的信息与前面的例子相同
0

评论区