linux统计文件的行数(find,xargs,cat,wc,grep命令)

这篇博客介绍了如何在Linux环境下利用find、xargs和wc命令来统计当前目录下所有.c和.h文件的行数。首先,find命令查找指定类型的文件,接着xargs将找到的文件传递给wc-l进行行数统计。如果只想显示总行数,可以将所有文件内容通过cat命令连接后进行统计。若要排除空行,可以结合grep-v^$过滤后再计数。内容涵盖了Linux命令行操作和代码文件统计的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

统计当前目录下所有.c .h文件的行数,显示每个文件具体的行数和总行数
xargs 组合多个命令的一个工具
wc -l 统计文件行数

find . -name "*.c" -o -name "*.h"|xargs wc -l

在这里插入图片描述

只显示总行数
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。

find . -name "*.c" -o -name "*.h"|xargs cat|wc -l 

在这里插入图片描述

除去显示除去空行之外的总行数
Linux grep 命令用于查找文件里符合条件的字符串
-v 或 --invert-match : 显示不包含匹配文本的所有行。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。

find . -name "*.c" -o -name "*.h"|xargs cat|grep -v ^$|wc -l

在这里插入图片描述

Linux xargs 命令

Linux grep 命令

Linux wc命令

### 关于 `wc` 命令的用法 `wc` 是 Linux 中用于统计文件或标准输入中的字节数、字符数、单词数以及行数的一个工具[^1]。它是一个功能简单但非常实用的小型工具,提供了不到十个选项来完成不同的计数需求。 以下是 `wc` 的基本语法: ```bash wc [OPTION]... [FILE]... ``` #### 统计字节 (Bytes)统计文件中的字节数,可以使用 `-c` 或者 `--bytes` 参数。例如: ```bash wc -c filename.txt ``` 这会返回文件 `filename.txt` 中的总字节数。 #### 统计单词 (Words) 如果需要计算某个文件或者文本流中有多少个单词,则可使用 `-w` 或者 `--words` 参数。例如: ```bash wc -w filename.txt ``` 这条命令将显示文件 `filename.txt` 中所含有的单词总数。 #### 统计行数 (Lines) 对于想要知道某文档有多少行的情况,应该采用 `-l` 或者 `--lines` 这一参数。比如下面的例子将会给出 `filename.txt` 文件内的行数信息: ```bash wc -l filename.txt ``` 此操作仅关注每行结束符的数量从而得出结果。 #### 结合其他命令一起工作 除了单独作用外,`wc` 很容易与其他Linux指令配合起来形成管道(pipe),以实现更复杂的数据处理任务。比如说查找特定目录下所有`.txt`类型的档案并总计它们各自的大小(单位为byte): ```bash find /path/to/directory -name "*.txt" | xargs wc -c ``` 这里先利用 `find` 寻找目标路径下的 `.txt` 文件们,再经由管道传递给 `xargs`, 最终调用 `wc -c` 来获取这些找到的对象各自占据的空间量级。 另外也可以搭配正则表达式的搜索器如 `grep` 使用: ```bash echo "This is an example sentence." | grep -o 'example' | wc -w ``` 上述脚本先是创建了一串字符串并通过回声函数发送到标准输出;接着运用 `grep` 把其中匹配模式的部分提取出来交给下一个环节即 `wc -w` 计算词组数目,在这个情境里预期得到的结果应当是数字“1”。 ### 示例代码展示 以下是一些实际应用案例演示如何灵活运用该命令解决日常遇到的一些场景问题。 ```bash # 创建测试数据集 cat <<EOF > testfile.txt First line here. Second line there. Third line everywhere! EOF # 查看整个文件的内容及其基本信息 wc testfile.txt # 输出如下所示: # 3 7 58 testfile.txt # 表明有三行文字、七个词语构成总共五十八个ASCII码单元长度的信息存在于testfile.txt当中。 ``` 以上就是关于 `wc` 命令的基础介绍与几个典型实例解析过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joshua_yi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值