40 个 Grep 命令 ! 运维记住了

无论是查看文件、分析日志,还是处理各种文本数据,grep都能大显身手,是系统管理员和开发人员的得力助手。

grep是Linux系统中的一个文本搜索工具, 它就像一个文本世界的“放大镜”,能帮我们在大量文本中快速找到含有特定内容的行。

无论是查看文件、分析日志,还是处理各种文本数据,grep都能大显身手,是系统管理员和开发人员的得力助手,

grep能干啥
  • 快速定位信息 :在海量文本中,grep能瞬间定位到包含目标关键词的行,让我们不用逐行浏览,省时省力
  • 分析日志 :排查系统故障时,通过grep筛选日志文件中的错误信息,能帮我们迅速找到问题根源
  • 提取数据 :从杂乱的文本数据中,精准提取出符合特定格式或要求的部分,方便后续处理
基础入门篇

1.grep "hello" file.txt

作用:在 file.txt 文件里,搜索所有包含 “hello” 这个词的行

2.grep -i "hello" file.txt

作用:-i 忽略大小写。这样 “Hello”, “HELLO” 都能被搜到

3.grep -w "hello" file.txt

作用:-w 全字匹配。只匹配独立的单词 “hello”,像 “hello-world” 或者 “helloworld” 就不会被匹配

4.grep -v "error" file.txt

作用:-v 反向选择。显示所有不包含 “error” 的行,用来过滤掉不想要的信息特别有用

5.grep -n "hello" file.txt

作用:-n 显示行号。在结果前面会标出这行在文件中的第几行,方便你定位

6.grep -c "hello" file.txt

作用:-c 计数。不显示具体内容,只告诉你含有 “hello” 的行总共有多少行

7.grep -r "hello" /path/to/dir/

作用:-r 递归搜索。在一个目录及其所有子目录、子文件里搜索 “hello”

8.grep -l "hello" *.txt

作用:-l 只显示文件名。在一堆 .txt 文件里,哪个文件包含了 “hello”,就只列出它的文件名

9.grep -h "hello" *.txt

作用:当搜索多个文件时,默认会显示文件名。-h 可以隐藏文件名,只显示匹配的内容

10.grep -o "hello" file.txt

作用:-o 只输出匹配到的部分。比如一行是 “abc hello def”,用这个命令就只输出 “hello”,非常干净

正则表达式篇!

11.grep "^hello" file.txt

作用:^ 表示行首。搜索所有以 “hello” 开头的行

12.grep "world$" file.txt

作用:$ 表示行尾。搜索所有以 “world” 结尾的行

13.grep "^$" file.txt

作用:匹配所有空行

14.grep "." file.txt

作用:. 匹配任意一个字符。这会匹配几乎所有非空行

15.grep "he..o" file.txt

作用:搜索像 “hello”, “hexlo”, “heABo” 这样的模式,中间两个点代表两个任意字符

16.grep "h[aeiou]llo" file.txt

作用:[ ] 匹配括号内任意一个字符。这里会匹配 “hallo”, “hello”, “hillo”, “hollo”, “hullo”

17.grep "[0-9]" file.txt

作用:匹配所有包含任何数字的行

18.grep "[a-z]" file.txt

作用:匹配所有包含任何小写字母的行

19.grep "[A-Z]" file.txt

作用:匹配所有包含任何大写字母的行

20.grep "hello\|world" file.txt

作用:\| 是“或”的意思。匹配包含 “hello” 或者 包含 “world” 的行

21.grep "he*" file.txt

作用:* 表示前面的字符出现0次或多次。这里会匹配 “he”, “hee”, “heee” 等。注意:它也会匹配 “h”,因为 e 出现了0次

22.grep "he\+" file.txt

作用:\+ 表示前面的字符出现至少1次。这里会匹配 “he”, “hee”, “heee” 等,但不会匹配只有 “h” 的行

23.grep "he\?“ file.txt

作用:\? 表示前面的字符出现0次或1次。会匹配 “h” 或 “he”

24.grep “h.\?o“ file.txt

作用:匹配 “h” 和 “o” 中间有0个或1个任意字符的模式,如 “ho”, “hxo”

25.grep -E “hello{2,}” file.txt

作用:-E 启用扩展正则,{2,} 表示前面的 ‘o’ 至少连续出现2次。会匹配 “helloo”, “hellooo” 等。

高级技巧

26.grep -A 2 “error” file.txt

作用:-A 显示匹配行之后的2行内容。看错误日志时,连错误信息下面的上下文一起看

27.grep -B 2 “error” file.txt

作用:-B 显示匹配行之前的2行内容。看错误发生前发生了什么

28.grep -C 2 “error” file.txt

作用:-C 显示匹配行前后各2行的内容。最常用的上下文查看模式

29.ps aux | grep “nginx”

作用:经典组合!查看所有进程,然后过滤出和 “nginx” 相关的进程

30.history | grep “ssh”

作用:从你的历史命令里,快速找到所有包含 “ssh” 的命令

31.grep -e “error” -e “fail” file.txt

作用:-e 指定多个模式。相当于同时搜索 “error” 和 “fail”

32.grep -f patterns.txt file.txt

作用:-f 从文件 patterns.txt 中读取要搜索的模式列表,一行一个模式

33.grep –color=auto “hello” file.txt

作用:让匹配到的 “hello” 高亮显示,通常是红色,非常醒目

34.grep -q “success” file.txt && echo “Found!”

作用:-q 静默模式。不输出任何结果,只根据是否找到而设置退出状态。这里如果找到 “success”,就执行 echo “Found!”。常用于脚本判断

35.grep -s “hello” maybe_no_exist.txt

作用:-s 不显示由于文件不存在或无权限而产生的错误信息。世界清静了

36.grep -H “hello” *.txt

作用:强制显示文件名,和 -h 相反。在某些情况下默认不显示文件名时使用

37.ls -l | grep “^d”

作用:用 ls -l 列出文件详情,然后 grep 只显示行首是 ‘d’ 的,也就是只列出目录

38.grep -P “\x68\x65\x6c\x6c\x6f” file.txt

作用:-P 使用Perl兼容的正则表达式,这里是用16进制码搜索 “hello” 这个单词,比较偏门但有时有用

39.grep -m 5 “info” huge_log.txt

作用:-m 限制匹配次数。只在巨大的日志文件里搜到前5个 “info” 就停止,防止输出刷屏

40.grep -Z -r “secret” . | xargs -0 rm

作用:这是一个危险但能说明问题的例子。-Z 让输出以 \0 结尾,配合 xargs -0,可以递归找到所有包含 “secret” 的文件并删除它们

希望这40个例子能让你对 grep 的强大有一个立体的感受。记住,最好的学习方式就是打开终端,随便找个文本文件,把这些命令一个一个敲进去试试看 !玩得开心

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。


因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

四、AI大模型商业化落地方案

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值