前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux之grep使用技巧

linux之grep使用技巧

原创
作者头像
入门笔记
修改2022-05-18 20:29:45
1.4K0
修改2022-05-18 20:29:45
举报
文章被收录于专栏:入门小站入门小站

显示不以#开头的行

代码语言:txt
复制
> grep ^[^#] rumenz.txt

显示#开头的行

代码语言:txt
复制
> grep ^# rumenz.txt

从单个文件查找指定字符串

代码语言:txt
复制
> grep "rumenz" 1.txt

从多个文件查找指定字符串

代码语言:txt
复制
> grep "rumenz" *.html

忽略大小写, 并显示行号

代码语言:txt
复制
> grep -in "rumenz" 1.txt

显示查找到的总行数

代码语言:txt
复制
> grep -c "rumenz" 1.txt

查找目录下所有文件,并只输出含有该文本的文件名

代码语言:txt
复制
> grep -l "rumenz" *

-l: 查询多文件的时候只输出包含匹配字符的文件名

递归查找目录下所有文件,并只输出含有该文本的文件路径

代码语言:txt
复制
> grep -rl "rumenz" .

grep静默输出

不会输出任何信息,如果命令运行成功返回0,失败则返回非0值。一般用于条件测试。

代码语言:txt
复制
> grep -q "rumenz" 1.txt

除开某一个目录不匹配

代码语言:txt
复制
> grep -R --exclude-dir="tmp" "rumenz"

tmp 中的文件不用查找

去掉文本中的空行

代码语言:txt
复制
> cat 1.txt | grep -v "^\s*$"

过滤注释行

代码语言:txt
复制
> cat 1.txt | grep -v "^#"

同时过滤空白行与注释行

代码语言:txt
复制
> cat 1.txt | grep -v "^$" | grep -v "^#"

打印匹配行的后5行

代码语言:txt
复制
> grep -A 5 'rumenz' 1.txt

打印匹配行的前5行

代码语言:txt
复制
> grep -B 5 'rumenz' 1.txt

打印匹配行的前后5行

代码语言:txt
复制
> grep -C 5 'rumenz' 1.txt

模糊匹配

代码语言:txt
复制
> grep "abc" 1.txt //结果为abcd, abcde, abc等

精确匹配

代码语言:txt
复制
> grep -w "abc" 1.txt

同时匹配多个字符串

代码语言:txt
复制
> cat 1.txt | grep -e "ab" -e "ef" -o
  • -e 指定字符串作为查找文件内容的关键字符
  • -o 只输出文件中匹配到的部分, 不会打印多余的内容。

只在目录中所有的.php和.html文件中递归搜索字符"rumenz"

代码语言:txt
复制
> grep -r "rumenz" --include *.{html,php}

在搜索结果中排除所有README文件

代码语言:txt
复制
>  grep -r "rumenz"  --exclude "README" .

在搜索结果中排除filelist文件列表里的文件

代码语言:txt
复制
> cat filelist
aaa
bbb
rumenz
> grep -r "rumenz" --exclude-from filelist .

原文链接:https://rumenz.com/rumenbiji/linux-grep-skills.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 显示不以#开头的行
  • 显示#开头的行
  • 从单个文件查找指定字符串
  • 从多个文件查找指定字符串
  • 忽略大小写, 并显示行号
  • 显示查找到的总行数
  • 查找目录下所有文件,并只输出含有该文本的文件名
  • 递归查找目录下所有文件,并只输出含有该文本的文件路径
  • grep静默输出
  • 除开某一个目录不匹配
  • 去掉文本中的空行
  • 过滤注释行
  • 同时过滤空白行与注释行
  • 打印匹配行的后5行
  • 打印匹配行的前5行
  • 打印匹配行的前后5行
  • 模糊匹配
  • 精确匹配
  • 同时匹配多个字符串
  • 只在目录中所有的.php和.html文件中递归搜索字符"rumenz"
  • 在搜索结果中排除所有README文件
  • 在搜索结果中排除filelist文件列表里的文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档