grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。

  grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。

1.命令格式:
grep [option] pattern file

2.命令功能:
用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活 。

3.命令参数:
-a --text #不要忽略二进制的数据。
-A<显示行数> --after-context=<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b --byte-offset #在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数> --before-context=<显示行数> #除了显示符合样式的那一行之外,并显示该行之前的内容。
-c --count #计算符合样式的列数。
-C<显示行数> --context=<显示行数>或-<显示行数> #除了显示符合样式的那一行之外,并显示该行之前后的内容。 
-d <动作> --directories=<动作> #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 
-e<范本样式> --regexp=<范本样式> #指定字符串做为查找文件内容的样式。
-E --extended-regexp #将样式为延伸的普通表示法来使用。
-f<规则文件> --file=<规则文件> #指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F --fixed-regexp #将样式视为固定字符串的列表。
-G --basic-regexp #将样式视为普通的表示法来使用。
-h --no-filename #在显示符合样式的那一行之前,不标示该行所属的文件名称。
-H --with-filename #在显示符合样式的那一行之前,表示该行所属的文件名称。
-i --ignore-case #忽略字符大小写的差别。
-l --file-with-matches #列出文件内容符合指定的样式的文件名称。
-L --files-without-match #列出文件内容不符合指定的样式的文件名称。
-n --line-number #在显示符合样式的那一行之前,标示出该行的列数编号。
-q --quiet或--silent #不显示任何信息。
-r --recursive #此参数的效果和指定“-d recurse”参数相同。
-s --no-messages #不显示错误信息。
-v --revert-match #显示不包含匹配文本的所有行。
-V --version #显示版本信息。
-w --word-regexp #只显示全字符合的列。
-x --line-regexp #只显示全列符合的列。
-y #此参数的效果和指定“-i”参数相同。

4.使用实例

案例1:精确的匹配

[root@localhost ~]# cat 1.txt | grep all
all tooall
to alltoall all
allto100
uuualltoall
[root@localhost ~]# cat 1.txt | grep -w "all"
all tooall
to alltoall all
[root@localhost ~]#

案例2:加入自动颜色

[root@localhost ~]# cat 1.txt | grep -w "all" --color=auto
all tooall
to alltoall all

案例3 :取反参数 -v 选项

[root@localhost ~]# ps -ef | grep ssh
root 2055 1 0 09:03 ? 00:00:00 /usr/sbin/sshd
root 24498 2055 0 11:21 ? 00:00:01 sshd: root@pts/0
root 24657 24502 0 12:11 pts/0 00:00:00 grep ssh
[root@localhost ~]# ps -ef | grep ssh | grep -v grep
root 2055 1 0 09:03 ? 00:00:00 /usr/sbin/sshd
root 24498 2055 0 11:21 ? 00:00:01 sshd: root@pts/0
[root@localhost ~]#

案例4 :统计出现的次数

[root@localhost ~]# grep -c "all" 1.txt
4
[root@localhost ~]#

案例5:显示匹配的行数

[root@localhost ~]# grep -n "all" 1.txt
1:all tooall
2:to alltoall all
3:allto100
4:uuualltoal

案例6:显示匹配的文件

[root@localhost ~]# grep "all" 1.txt 2.txt 4.txt
1.txt:all tooall
1.txt:to alltoall all
1.txt:allto100
1.txt:uuualltoall
2.txt:alltohell 2.txt
4.txt:allheot4.txt
[root@localhost ~]# grep -l "all" 1.txt 2.txt 4.txt
1.txt
2.txt
4.tx

案例7:忽略字符大小写

[root@localhost ~]# cat 1.txt | grep -i "ALL"
all tooall
ALAALLL
to alltoall all
allto100
uuualltoall

案例8:打印出匹配文本之前或者之后的行

转载于:https://www.cnblogs.com/BaoLeri/p/5946080.html

Linux安全基础:grep命令的使用相关推荐

  1. Linux中利用grep命令如何检索文件内容详解

    前言 Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索.下面来一起看看Linux利用grep命令检索文件内容的详细介绍. 方法 ...

  2. Linux下的grep命令

    Linux下的grep命令 作用:grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来.若不指定任何文件名 ...

  3. linux使用grep查找文件内容,Linux中使用grep命令搜索文件名及文件内容的方法

    这篇文章主要介绍了Linux中使用grep命令搜索文件名及文件内容的方法,同时文中还介绍了将匹配结果高亮显示的方法,相当实用,需要的朋友可以参考下 从文件中搜索并显示文件名 当从多个文件中搜索时,默认 ...

  4. linux下grep同时匹配多个单词,Linux下使用grep命令搜索多个单词的方法

    摘要 腾兴网为您分享:Linux下使用grep命令搜索多个单词的方法,篆刻字典,中国知网,虚拟机,微博等软件知识,以及掌上公交app,尚书ocr,汇博企业,强密码,支付宝,mh,海融易,我的世界火影忍 ...

  5. Unix/Linux 中的 grep 命令

    Unix/Linux 中的 grep 命令参数及示例用法 作用 语法 主要参数 示例命令 作用 Grep 筛选器在文件中搜索特定的字符模式,并显示包含该模式的所有行.在文件中搜索的模式称为 正则表达式 ...

  6. Linux三剑客之grep命令详解及相关实例

    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用 ...

  7. 【Linux】使用grep命令查找文件内容

    文章目录 grep简介 grep语法 grep常用选项 示例 模式匹配 grep命令使用简单实例 grep命令使用复杂实例 cat/more/tail 与 grep组合使用 grep简介 grep是l ...

  8. 在linux下给grep命令添加颜色

    1打开文件,添加如下一段话         vim ~/.bashrc        alias grep='grep --color'   2退出保存     source ~/.bashrc   ...

  9. Linux下的grep命令详解

    grep命令 使用grep命令可以查找文件内符合条件的字符串. 命令语法: grep [选项] [查找模式][文件] 命令中各选项的含义如表所示. 表                          ...

  10. linux中的grep命令用法

    1.grep的作用 grep命令是用来查找指定字符串,文件中的行的位置,也可以利用管道符(|)从其他命令中获取执行结果,作为输入,获取指定字符串的位置. 指定参数 参数名 作用 -A 行数 在显示范本 ...

最新文章

  1. 梯度下降理解和梯度下降计算检查斯坦福
  2. 使用最新版(2020)IntelliJ IDEA 创建Servlet项目
  3. V神再为BCH发声!
  4. 总是助手服务器失败怎么回事,《遇见逆水寒》连接服务器失败解决方法汇总 服务器连接失败问题原因...
  5. 大数据该如何运行与分析
  6. caffe编译关于imread问题的解决
  7. python 自动下载脚本之家,python网页自动化脚本私服过验证
  8. 终于解决了!Windows 10打开SecoClient 提示网络扩展启动失败
  9. plsqldevelop破解方法
  10. 计算机无法识别外接光驱,【win7无法识别光驱怎么办】win7外置光驱无法识别
  11. 自动化测试po模式是什么?自动化测试po分层如何实现?-附详细源码
  12. android数字转汉字大写字母,将数字金额转成汉字大写的
  13. DynamicModuleException: MENIFEST.MF文件未找到
  14. javascript运算符_双重否定运算符是什么! 用JavaScript做?
  15. springboot和kafka结合其中enable.auto.commit等于false失效
  16. java-初识大前端Node.js、ES6、Npm、Babel、模块化规范、WebPack、Vue-element-admin本地安装问题及解决、Git安装及配置、uni-app
  17. 如何检测、清理Greenplum膨胀、垃圾
  18. Pivoting跳板攻击
  19. Android多媒体开发技术
  20. php读取excel文件数据

热门文章

  1. 使用NSOperation为你的app加速
  2. SQL Server 数据库管理常用的SQL和T-SQL语句
  3. 跟着太白老师学python day11 可迭代对象和迭代器
  4. Android4.0蓝牙使能的详细解析
  5. 如何实现线程间的通讯(转载)
  6. 面对SDN/NFV部署挑战 网络厂商能做什么?
  7. 【python】r+,w+ 全局变量
  8. 轻操作动作休闲单机游戏《狂斩三国2》评测
  9. 流媒体服务器搭建实例——可实现录音,录像功能
  10. 超全Typora快速入门