当前位置: 首页 > news >正文

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

🎯 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 中 grepwc 命令及管道符 | 的用法,涵盖基础操作、进阶技巧和实用场景。通过精炼示例和实践建议,带你快速掌握文本搜索与统计的利器,助你在 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 67 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个文件

总结

grepwc和管道符|对于处理数据非常高效
可以进行适当掌握

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

相关文章:

  • PDF图片和表格等信息提取开源项目
  • Svelte 核心语法详解:Vue/React 开发者如何快速上手?
  • Linux 系统中的算法技巧与性能优化
  • 【R语言编程——数据调用】
  • 【工具教程】PDF电子发票提取明细导出Excel表格,OFD电子发票行程单提取保存表格,具体操作流程
  • 虚幻引擎5-Unreal Engine笔记之SET节点的输出引脚获取设置后的最新变量值
  • 使用Conda管理服务器多版本Python环境的完整指南
  • 【Java学习笔记】String类总结
  • 【计算机网络】Linux下简单的TCP服务器(超详细)
  • 【Java学习笔记】Math方法
  • curl 如何发送一个邮件 ?
  • chili3d 笔记17 c++ 编译hlr 带隐藏线工程图
  • [TI板]MSPM0G3507学习笔记(一) 超详细keil环境配置+烧录配置+空工程迁移+vscode配置+点灯
  • “组件、路由懒加载”,在 Vue3 和 React 中分别如何实现? (copy)
  • 嵌入式学习笔记 - freeRTOS vTaskPlaceOnEventList()函数解析
  • 浅谈 React Hooks
  • 零基础在实践中学习网络安全-皮卡丘靶场(第十四期-XXE模块)
  • TDengine 支持的平台汇总
  • CSS3 的特性
  • ios苹果系统,js 滑动屏幕、锚定无效
  • 六日做兼职的网站/免费做网站怎么做网站链接
  • site网站连通率0%怎么解决/今日时政新闻热点
  • 网站制作的软件/搜索关键词排名查询
  • 怎么建立自己的个人网站/什么是网络营销策略
  • 平湖网站建设/网络运营怎么学
  • 什么是网站二级目录/百度公司全称叫什么