Linux 文本三剑客之 grep
Linux 系统中一切皆文件。
文件是个文本。可以读、可以写,如果是二进制文件,还能执行。
在使用Linux的时候,大都是要和各式各样文件打交道。熟悉文本的读取、编辑、筛选就是linux系统管理员的必备技能
文本处理工具:grep、awk、sed,本篇主要讲 grep
grep 行提取命令。在文件中提取和匹配符合条件的字符串行,只要一行数据中包含"搜索内容",就会列出整行内容
一般格式:grep [选项] 搜索关键字/模式 文件
选项:指常用的几种功能
搜索关键字/模式:要搜的关键字/正则表达式
文件:要搜索的对象
常用[选项]介绍:
-A 数字:列出符合条件的行,并列出后续的 n 行
grep -A 3 "root" /etc/passwd:查找包含"root"的行,并列出后续的3行
-B 数字:列出符合条件的行,并列出前面的 n 行
-C 数字:列出符合条件的行,并列出前后的 n 行
-c:统计找到的符合条件的字符串的次数
-i:忽略大小写
-n:输出行号
grep -n "/bin/bash" /etc/passwd:查找可以登录的用户,并显示行号
-v:反向査找;grep -v "/bin/bash"
/etc/passwd:#查找不包含"/bin/bash"的行
-m:匹配多少次后停止 -m 3:匹配3次后不往下搜索
-e:逻辑or关系 -e 条件1 -e 条件2
-f:文件条件,将条件放入文件(or关系)
grep -f 1.txt /etc/passwd
--color=auto:搜索出的关键字用颜色显示(centos7开始有别名添加颜色)
-E:可以使用扩展正则
过滤空行和注释行 cat /etc/fstab | grep -vE "^$|[#;]"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了