Linux(Centos 7.6)命令详解:wc

1.命令作用

打印文件的行数、单词数、字节数,如果指定了多个文件,还会打印以上三种数据的总和(Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified)

2.命令语法

Usage: wc OPTION... FILE...
or: wc OPTION... --files0-from=F

3.参数详解

OPTION:

  • -c, --bytes,打印字节数
  • -m, --chars,打印字符数
  • -l, --lines,打印行数
  • --files0-from=F/-,F代表一个文件名,文件名内容为多个文件的名称,用于获取多个文件的行数、单词数、字节数,多个文件以一个零字节(ASCII NUL)结束;当使用 - 时,以其他输出为输入,如find使用-print0参数
  • -L, --max-line-length,打印最长行的长度
  • -w, --words,打印单词数

4.常用用例

4.1.常见的用例

bash 复制代码
## 不加参数,会依次打印行数、单词数、字节数
[root@node2 Desktop]# wc test.txt 
  5  44 245 test.txt

## 多个文件时,最后会打印total总计数据
[root@node2 Desktop]# wc test.txt test1.txt 
  5  44 245 test.txt
  8   9  57 test1.txt
 13  53 302 total

## 常用参数-l 用于查看文件行数
[root@node2 Desktop]# wc -l test.txt
5 test.txt

## 常用参数-L 用于查看文件中最长的行的长度
[root@node2 Desktop]# wc -L test.txt
72 test.txt

4.2.有用但不常见的用例

bash 复制代码
## --files0-from=F 参数使用
## vi打开文件如下,"^@"是一个字符,vi中输入方法为Ctrl+v,然后接着 Ctrl+@ 
[root@node2 Desktop]# vi file
test1.txt^@test2.txt^@test3.txt^@
~                                                                                                              
~                                                                                                              
~                                                                                                              
~                                                                                                              
~                                                                                                              
~                                                                                                              
~                                                                                                              
~                                                                                                                                                                                                                         
"file" [noeol] 1L, 30C
[root@node2 Desktop]# cat file               ## cat查看如下
test1.txttest2.txttest3.txt
[root@node2 Desktop]# 
[root@node2 Desktop]# truncate -s -1 file    ## 删除文件最后一个字符(换行符)
[root@node2 Desktop]# 
[root@node2 Desktop]# cat file               ## 再次查看与上面对比
test1.txttest2.txttest3.txt[root@node2 Desktop]#
[root@node2 Desktop]# 
[root@node2 Desktop]# wc --files0-from=file  ## 可正常指定文件列表进行统计
  8   9  57 test1.txt
  9   9  63 test2.txt
  4   4  28 test3.txt
 21  22 148 total
[root@node2 Desktop]# 

#########################################################################
#########################################################################
## --files0-from=- 参数使用
## find中-print0参数的作用是在输出文件名时使用null字符(\0)作为分隔符,而不是换行符
[root@node2 Desktop]# find . -name '*.txt' -print0 | wc -l --files0-from=-
4 ./test3.txt
9 ./test2.txt
8 ./test1.txt
5 ./test.txt
26 total
相关推荐
律宏阔9 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔9 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴9 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千10 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3710 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3710 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3710 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh10 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW10 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
GeW10 小时前
工业场景中的Linux与数据库选型:高端化转型的技术底座
linux