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
相关推荐
工藤新一¹11 小时前
Linux —— 虚拟进程地址空间
linux·运维·服务器·c/c++·虚拟进程地址空间
Aspiresky11 小时前
浅析Linux内核scatter-gather list实现
linux·dma·scatter/gather
奔跑吧 android12 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 3】【模拟input子系统input_dev和input_handler之间的多对多关系】
linux·数据结构·input·kernel·input_dev·input_handler·input_handle
再难也得平12 小时前
Linux初级篇
linux·运维·服务器
小猫挖掘机(绝版)13 小时前
通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机
linux·windows·vscode·ubuntu·ssh
attitude.x13 小时前
Swift 协议扩展与泛型:构建灵活、可维护的代码的艺术
运维·服务器·网络
ajassi200013 小时前
开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)
linux·c++·qt·开源
止观止13 小时前
GitHub自动化利器:Probot框架实战指南
运维·自动化·github
方先森有点懒13 小时前
CentOS 7.2 虚机 ssh 登录报错在重启后无法进入系统
linux·运维·centos·ssh
shylyly_13 小时前
Linux->日志的实现
linux·运维·服务器