grep、wc 与管道符快速上手指南

🎯 Linux grep、wc 与管道符快速上手指南:从入门到实用

📅 更新时间:2025年6月7日

🏷️ 标签:Linux | grep | wc | 管道符 | 命令行

文章目录

  • 前言
  • [🌟 一、grep、wc 和管道符简介](#🌟 一、grep、wc 和管道符简介)
  • [📌 二、grep 命令:文本搜索](#📌 二、grep 命令:文本搜索)
  • [🧭 三、wc 命令:文本统计](#🧭 三、wc 命令:文本统计)
  • [⚙️ 四、管道符:连接命令](#⚙️ 四、管道符:连接命令)
    • 1.管道符简介
    • [2.示例 grep搭配 |](#2.示例 grep搭配 |)
    • [3.示例 wc 搭配 |](#3.示例 wc 搭配 |)
    • [4.其他命令搭配 |](#4.其他命令搭配 |)
  • 总结

前言

✨ 本文循序渐进介绍 Linux 中 grepwc 命令及管道符 | 的用法,涵盖基础操作、进阶技巧和实用场景。通过精炼示例和实践建议,带你快速掌握文本搜索与统计的利器,助你在 Linux 系统中高效处理数据


🌟 一、grep、wc 和管道符简介

1.核心功能

grep:搜索文件中匹配特定模式的行,支持正则表达式

wc:统计文件的行数字数 或字符数

管道符 (|):将一个命令的输出作为下一个命令的输入,构建处理流水线

2.核心价值

高效文本处理:快速过滤和统计数据

广泛应用:适合日志分析、脚本开发和日常操作

灵活组合:通过管道符实现复杂任务自动化

📌 二、grep 命令:文本搜索

1.基础语法

cpp 复制代码
gerp [-n] 关键字 文件路径

1.参数 -n 可选 , 表示在结果中显示匹配的行的行号

2.参数 关键字 必填 表示要显示带有此关键字的此行 建议用" " 将关键字包围

3.参数 文件路径 必填 表示要处理的文本的路径 可作为内容输入端口 (这句话可以搭配管道符使用!)

2.示例

现在我们准备一份文本

cpp 复制代码
//text.txt

hello world
hello
my name is kk
what is your name?

问题1

输出带有hello 的 行,并且显示行号

输入:

cpp 复制代码
grep -n "hello" test.txt//这里用的相对路径

输出:

cpp 复制代码
1:hello world
2:hello

并且关键字还会标红

类似于这样

问题2

输出带有 what 的行,不显示行号

输入:

cpp 复制代码
grep "what" test.txt

输出:

cpp 复制代码
what is your name?

🧭 三、wc 命令:文本统计

1.用法

可以通过wc命令统计文件的行数 单词数量等
语法:

cpp 复制代码
wc [-c -m -l -w] 文件路径

1.选项 -c 统计 bytes 数量

2.选项 -m统计字符数量

3.选项 -l 统计行数

4.选项 -w 统计单词数量

5.参数 文件路径 表示被统计的文件,可作为内容输入端口 (这句话可以搭配管道符使用!)

2.示例

不带选项

如果不带选项,会输出什么呢?

输入:

cpp 复制代码
wc test.txt
//cat test.txt//输出原文 方便比较

输出:

cpp 复制代码
3 11 52 test.txt
/*
hello world
hello
my name is kk
what is your name?
*/

第一个 3 代表行数 有3行
第二个 11 代表单词数 总共11个单词
第三个 59 表示当前文件的字节数

我们可以通过ls 命令来验证一下第三个数

输入:

cpp 复制代码
ls -alh test.txt

输出:

cpp 复制代码
-rw-rw-r-- 1 kkkk kkkk 52 6月   7 10:00 test.txt

确实是52字节

-c 选项

统计文件bytes数量

cpp 复制代码
输入:
wc -c test.txt
cpp 复制代码
输出:
52 test.txt

-m 选项

统计文件字符数量

cpp 复制代码
输入:
wc -m test.txt
cpp 复制代码
输出:
50 test.txt  包含了空格和符号

-l 选项

统计文件行数

cpp 复制代码
输入:
wc -l test.txt
cpp 复制代码
输出:
3 test.txt

-w 选项

统计文件单词数量

cpp 复制代码
输入:
wc -w test.txt
cpp 复制代码
输出:
11 test.txt

⚙️ 四、管道符:连接命令

1.管道符简介

管道符 | 将前一个命令的输出作为后一个命令的输入

2.示例 grep搭配 |

比如我们前面说的这个命令

cpp 复制代码
输入:
grep -n "hello" test.txt
输出:
1:hello world
2:hello

这个表示的就是我们从test.txt中搜寻带有hello关键字的行并显示

我们前面说过,文件路径可以作为内容输入端口

所以我们可以这样写这个命令

cpp 复制代码
输入:
cat test.txt | grep -n "hello" 
输出:
1:hello world
2:hello

这个管道符| 可以把左边的输出,当作右边的输入
左边的输出:

cpp 复制代码
输入:
cat test.txt
输出:
hello world
hello
my name is kk
what is your name?

左边输出的就是这个文本,相当于就是在这个文本中去搜寻结果

3.示例 wc 搭配 |

同样wc命令的文件路径也可以作为输入端口

比如我们要显示test.txt中的行数 之前我们是这样写的

cpp 复制代码
输入:
wc -l test.txt
输出:
3 test.txt

现在我们可以这样写

cpp 复制代码
输入:
cat test.txt | wc -l
输出:
3

4.其他命令搭配 |

我们也可以用其他命令搭配管道符 | 来使用

我们先 ls 看看当下有那些文件

cpp 复制代码
输入:
ls
输出:
公共的  模板  视频  图片  文档  下载  音乐  桌面 
fff  global  kkk  lambda.cpp  lrvalue.cpp  main  
main.cpp  Makefile  test.cpp  test.txt  zz.cpp

比如我们此时只想找叫 lambda.cpp 的文件

cpp 复制代码
输入:
ls | grep "lambda.cpp"
输出:
lambda.cpp (这里标红)

再比如 我们

cpp 复制代码
ls /usr/bin

我们会发现有很多命令,但我们就想找一个叫gtf

我们可以这样

cpp 复制代码
ls /usr/bin | grep "gtf"

再比如,我们想统计 /usr/bin 有多少行?有多少个文件?

cpp 复制代码
输入:
ls -l /usr/bin | wc -l
输出:
1465

就成功的输出了总共有多少行,因为我们ls 是按列展开的,说明有1465个文件

总结

grepwc和管道符|对于处理数据非常高效

可以进行适当掌握

❤️ 如果你觉得本文对你有帮助,欢迎点赞、评论与收藏。更多 Linux 与 C++ 开发知识,敬请关注后续更新!

相关推荐
藥瓿锻21 分钟前
2024 CKA题库+详尽解析| 15、备份还原Etcd
linux·运维·数据库·docker·容器·kubernetes·cka
bbsh209930 分钟前
WebFuture:Ubuntu 系统上在线安装.NET Core 8 的步骤
linux·ubuntu·.netcore·webfuture
ZZZKKKRTSAE39 分钟前
快速上手Linux全局搜索正则表达式(grep)
linux·服务器·正则表达式
waving-black2 小时前
利用frp和腾讯云服务器将内网暴露至外网(内网穿透)
linux·服务器·腾讯云·frp·内网穿透
stormsha2 小时前
Linux中su与sudo命令的区别:权限管理的关键差异解析
linux·运维·服务器·鸿蒙系统·ux·batch命令
Johny_Zhao3 小时前
华为MAAS、阿里云PAI、亚马逊AWS SageMaker、微软Azure ML各大模型深度分析对比
linux·人工智能·ai·信息安全·云计算·系统运维
CodeOfCC3 小时前
c语言 封装跨平台线程头文件
linux·c语言·windows
科文小白狼3 小时前
Linux下VSCode开发环境配置(LSP)
linux·vscode·里氏替换原则·lsp
jugt5 小时前
CentOS 7.9安装Nginx1.24.0时报 checking for LuaJIT 2.x ... not found
linux·运维·centos