# wc
**wc命令** 统计指定文件中的字节数、字数、行数,并将统计结果显示输出。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。wc同时也给出所指定文件的总统计数。
## 语法
```bash
wc [选项] [参数]
wc [选项] [文件]
wc [选项] --files0-form=F
#参数:需要统计的文件列表。
```
## 选项
```bash
-c # 统计字节数,或--bytes或——chars:只显示Bytes数;。
-l # 统计行数,或——lines:只显示列数;。
-m # 统计字符数。这个标志不能与 -c 标志一起使用。
-w # 统计字数,或——words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L # 打印最长行的长度。
--help # 显示帮助信息
--version # 显示版本信息
```
## 实例
```bash
wc -l * #统计当前目录下的所有文件行数及总计行数
wc -l *.js #统计当前目录下的所有 .js 后缀的文件行数及总计行数
find . * | xargs wc -l #当前目录以及子目录的所有文件行数及总计行数
```
查看文件的字节数、字数、行数
```bash
wc test.txt
# 输出结果
7 8 70 test.txt
# 行数 单词数 字节数 文件名
```
用来统计当前目录下的文件和目录所有数目
```bash
# 要去除TOTAL行,就是要减去1,不包含隐藏文件
expr $(ls -l | wc -l) - 1
# 如果想要包含所以隐藏文件,那么只要减去3
expr $(ls -l | wc -l) - 3
# 如果想要统计文件而不是目录数量,那么就需要搜索过滤一下
ls -l | grep "^-" | wc -l
# 同样的道理,如果要连同隐藏文件也一起统计出来
ls -la | grep "^-" | wc -l
```