linux基本功系列之wc命令实战

简介: linux基本功系列之wc命令实战

在这里插入图片描述

@[toc]

前言🚀🚀🚀
想要学好Linux,命令是基本功,企业中常用的命令大约200多个,不管是写shell脚本还是管理操作系统,最常用的命令必须要牢牢掌握,像我们以前学乘法口诀一样,烂熟于心,唯有如此,才能打牢基础。
💓 知识最重要的是记忆
💓 入门须知: 想要人生从容,必须全力以赴,努力才是你最终的入场券🚀🚀🚀
💕 最后: 努力成长自己,愿我们都能在看不到的地方闪闪发光 ,一起加油进步🍺🍺🍺

一. wc命令介绍

wc命令来自于英文词组“Word count”的缩写,其功能是用于统计文件的字节数、单词数、行数等信息,并将统计结果输出到终端界面。

利用wc命令可以很快的计算出准确的单词数及行数,评估出文本的内容长度,要想了解一个文件,就可以使用这个命令。
wc 命令有很多坑,比如:

**1. 为什么 -m 参数统计字符的时候,发现统计出来的字符数永远比实际的多一个?

  1. 为什么 wc -w参数统计单词量,统计出来的结果比实际的少很多?**

本文依次来给你揭秘

二. 语法格式及常用选项

关于wc常用的参数,我们还是使用 wc --help来查看:

.
[root@mufenggrow test]# wc --help
用法:wc [选项]... [文件]...
 或:wc [选项]... --files0-from=F
Print newline, word, and byte counts for each FILE, and a total line if
more than one FILE is specified.  With no FILE, or when FILE is -,
read standard input.  A word is a non-zero-length sequence of characters
delimited by white space.
The options below may be used to select which counts are printed, always in
the following order: newline, word, character, byte, maximum line length.
  -c, --bytes            print the byte counts
  -m, --chars            print the character counts
  -l, --lines            print the newline counts
      --files0-from=文件    从指定文件读取以NUL 终止的名称,如果该文件被
                    指定为"-"则从标准输入读文件名
  -L, --max-line-length    显示最长行的长度
  -w, --words            显示单词计数
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

在这里插入图片描述

此处出现的几个单词:

  • character

在这里插入图片描述

  • maximum
    在这里插入图片描述
  • sequence
  • 在这里插入图片描述
  • specify
  • 在这里插入图片描述
  • file

在这里插入图片描述

三. 参考案例

3.1 统计指定文件的行数,单词数,字节数

此时不需要加任何参数 Print newline, word, and byte counts for each FILE

[root@mufenggrow test]# wc passwd 
  44   89 2323 passwd

一共46行,89个单词数,2376个字节数

这里有个疑问: 重复的单词数,算一个还是多个。

[root@mufenggrow test]# echo  test >> c.txt
[root@mufenggrow test]# echo  test >> c.txt
[root@mufenggrow test]# cat c.txt
test
test
[root@mufenggrow test]# wc c.txt 
 2  2 10 c.txt

可以看到,这里显示的两行,两个单词,10个字符。

但当我们统计/etc/passwd的时候,你会发现wc统计出来的单词数和实际单词数不想等,这是因为:

wc命令默认单词和单词的区别是以空格为标准的,也就是说只有空格隔开的两个单词,它才会认为是两个单词,要是没有隔开,它就认为是一个单词,所以结果和你预想的不一样!

3.2 统计字节数

-c 参数,主要用来统计字节数,我们看下如下案例:

## 登录到/etc/init.d。查看是否为符号链接
[root@master ~]# wc -w docker-ce.repo
93 docker-ce.repo

前面的93就是统计出来的字节数

3.3 只统计单词数

-w用于统计单词数,这里统计的与上面的一样,单词之间需要以空格为分隔符。

root@mufenggrow init.d]# pwd
[root@master ~]# wc -w docker-ce.repo
93 docker-ce.repo

3.4 统计字符数

-m参数用于统计字符数:

[root@mufenggrow test]# touch a.txt
[root@mufenggrow test]# echo "aaa c"> a.txt 
[root@mufenggrow test]# cat a.txt 
aaa c
[root@mufenggrow test]# wc -m a.txt 
6 a.txt

这里有个疑问: 文本中我们一共输入了5个字符,统计出来为什么是6个字符?

我们其实应该以计算机的视角来查看到底有几个字符:

[root@mufenggrow test]# cat -A a.txt
aaa c$

当我们使用cat -A参数,发现,的确是六个字符,因为在C后面有个 $

3.4 统计行数

只统计行数可以使用-l参数, 注意这里的-l是大写L的小写字母,千万不要错当成I(小写i的大写)

这里可以用三种方法来统计行数:

[root@mufenggrow test]# wc -l passwd
44 passwd
[root@mufenggrow test]# wc -l < passwd
44
[root@mufenggrow test]# cat passwd |wc -l
44
[root@mufenggrow test]# 

3.5 统计最长的行的长度

这里需要使用的是-L参数,-L 可以输出最长的行的长度

[mufeng@localhost ~] wc -L /etc/passwd 
99 /etc/passwd

总结

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~

请添加图片描述
在这里插入图片描述

相关文章
|
2天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
10 3
|
2天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
9 3
|
2天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
10 2
|
5天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
21 5
|
5天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
7 2
|
9天前
|
缓存 监控 Linux
|
13天前
|
Linux Shell 数据安全/隐私保护
|
13天前
|
域名解析 网络协议 安全
|
19天前
|
运维 监控 网络协议
|
20天前
|
监控 Linux Shell