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++ 开发知识,敬请关注后续更新!

相关推荐
2401_826097628 小时前
JavaEE-Linux环境部署
java·linux·java-ee
(:满天星:)9 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
爱莉希雅&&&9 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊9 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
渡我白衣9 小时前
Linux操作系统之文件(四):文件系统(上)
linux
ZZH1120KQ9 小时前
Linux系统安全及应用
linux·运维·系统安全
程序漫游人10 小时前
centos8.5安装jdk21详细安装教程
java·linux
小小小糖果人10 小时前
Linux云计算基础篇(5)
linux·运维·服务器
small_wh1te_coder10 小时前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c
小张是铁粉11 小时前
docker在Linux的安装遇到的问题
linux·docker·容器