🎯 Linux grep、wc 与管道符快速上手指南:从入门到实用
📅 更新时间:2025年6月7日
🏷️ 标签:Linux | grep | wc | 管道符 | 命令行
文章目录
- 前言
- 🌟 一、grep、wc 和管道符简介
- 1.核心功能
- 2.核心价值
- 📌 二、grep 命令:文本搜索
- 1.基础语法
- 2.示例
- 问题1
- 问题2
- 🧭 三、wc 命令:文本统计
- 1.用法
- 2.示例
- 不带选项
- -c 选项
- -m 选项
- -l 选项
- -w 选项
- ⚙️ 四、管道符:连接命令
- 1.管道符简介
- 2.示例 grep搭配 |
- 3.示例 wc 搭配 |
- 4.其他命令搭配 |
- 总结
前言
✨ 本文循序渐进介绍 Linux 中 grep
和 wc
命令及管道符 |
的用法,涵盖基础操作、进阶技巧和实用场景。通过精炼示例和实践建议,带你快速掌握文本搜索与统计的利器,助你在 Linux 系统中高效处理数据
🌟 一、grep、wc 和管道符简介
1.核心功能
grep
:搜索文件中匹配特定模式的行,支持正则表达式
wc
:统计文件的行数、字数或字符数
管道符 (|
):将一个命令的输出作为下一个命令的输入,构建处理流水线
2.核心价值
高效文本处理:快速过滤和统计数据
广泛应用:适合日志分析、脚本开发和日常操作
灵活组合:通过管道符实现复杂任务自动化
📌 二、grep 命令:文本搜索
1.基础语法
gerp [-n] 关键字 文件路径
1.参数 -n
可选 , 表示在结果中显示匹配的行的行号
2.参数 关键字
必填 表示要显示带有此关键字的此行 建议用" " 将关键字包围
3.参数 文件路径
必填 表示要处理的文本的路径 可作为内容输入端口
(这句话可以搭配管道符使用!)
2.示例
现在我们准备一份文本
//text.txthello world
hello
my name is kk
what is your name?
问题1
输出带有hello 的 行,并且显示行号
输入:
grep -n "hello" test.txt//这里用的相对路径
输出:
1:hello world
2:hello
并且关键字还会标红
类似于这样
问题2
输出带有 what 的行,不显示行号
输入:
grep "what" test.txt
输出:
what is your name?
🧭 三、wc 命令:文本统计
1.用法
可以通过wc命令统计文件的行数 单词数量等
语法:
wc [-c -m -l -w] 文件路径
1.选项 -c
统计 bytes 数量
2.选项 -m
统计字符数量
3.选项 -l
统计行数
4.选项 -w
统计单词数量
5.参数 文件路径
表示被统计的文件,可作为内容输入端口
(这句话可以搭配管道符使用!)
2.示例
不带选项
如果不带选项,会输出什么呢?
输入:
wc test.txt
//cat test.txt//输出原文 方便比较
输出:
3 11 52 test.txt
/*
hello world
hello
my name is kk
what is your name?
*/
第一个 3 代表行数 有3行
第二个 11 代表单词数 总共11个单词
第三个 59 表示当前文件的字节数
我们可以通过ls 命令来验证一下第三个数
输入:
ls -alh test.txt
输出:
-rw-rw-r-- 1 kkkk kkkk 52 6月 7 10:00 test.txt
确实是52字节
-c 选项
统计文件bytes数量
输入:
wc -c test.txt
输出:
52 test.txt
-m 选项
统计文件字符数量
输入:
wc -m test.txt
输出:
50 test.txt 包含了空格和符号
-l 选项
统计文件行数
输入:
wc -l test.txt
输出:
3 test.txt
-w 选项
统计文件单词数量
输入:
wc -w test.txt
输出:
11 test.txt
⚙️ 四、管道符:连接命令
1.管道符简介
管道符 |
将前一个命令的输出作为后一个命令的输入
2.示例 grep搭配 |
比如我们前面说的这个命令
输入:
grep -n "hello" test.txt
输出:
1:hello world
2:hello
这个表示的就是我们从test.txt中搜寻带有hello关键字的行并显示
我们前面说过,文件路径可以作为内容输入端口
所以我们可以这样写这个命令
输入:
cat test.txt | grep -n "hello"
输出:
1:hello world
2:hello
这个管道符|
可以把左边的输出,当作右边的输入
左边的输出:
输入:
cat test.txt
输出:
hello world
hello
my name is kk
what is your name?
左边输出的就是这个文本,相当于就是在这个文本中去搜寻结果
3.示例 wc 搭配 |
同样wc命令的文件路径也可以作为输入端口
比如我们要显示test.txt中的行数 之前我们是这样写的
输入:
wc -l test.txt
输出:
3 test.txt
现在我们可以这样写
输入:
cat test.txt | wc -l
输出:
3
4.其他命令搭配 |
我们也可以用其他命令搭配管道符 |
来使用
我们先 ls 看看当下有那些文件
输入:
ls
输出:
公共的 模板 视频 图片 文档 下载 音乐 桌面
fff global kkk lambda.cpp lrvalue.cpp main
main.cpp Makefile test.cpp test.txt zz.cpp
比如我们此时只想找叫 lambda.cpp 的文件
输入:
ls | grep "lambda.cpp"
输出:
lambda.cpp (这里标红)
再比如 我们
ls /usr/bin
我们会发现有很多命令,但我们就想找一个叫gtf
的
我们可以这样
ls /usr/bin | grep "gtf"
再比如,我们想统计 /usr/bin 有多少行?有多少个文件?
输入:
ls -l /usr/bin | wc -l
输出:
1465
就成功的输出了总共有多少行,因为我们ls 是按列展开的,说明有1465个文件
总结
grep
和wc
和管道符|
对于处理数据非常高效
可以进行适当掌握
❤️ 如果你觉得本文对你有帮助,欢迎点赞、评论与收藏。更多 Linux 与 C++ 开发知识,敬请关注后续更新!