使用正则表达式搜索文本,并把匹配的行打印出来。使用权限是所有用户。

基本使用

  1. grep [option] pattern filename
  2. pattern如果是表达式或者超过两个单词的, 需要用引号引用。
  3. 可以是单引号也可双引号, 区别是单引号无法引用变量而双引号可以。
  4. grep test *file
  5. 在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的行,并打印出该字符串的行

常用选项

  1.   -E :开启扩展(Extend)的正则表达式。
  2.   -i :忽略大小写(ignore case)。
  3.   -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
  4.   -n :显示行号。
  5.   -w :被匹配的文本只能是单词,而不能是单词中的某一部分
  6.   -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
  7.   -o :只显示被模式匹配到的字符串。
  8.   --color :将匹配到的内容以颜色高亮显示。
  9.   -A n:显示匹配到的字符串所在的行及其后n行,after
  10.   -B n:显示匹配到的字符串所在的行及其前n行,before
  11.   -C n:显示匹配到的字符串所在的行及其前后各n行,context

基本正则表达式

  1. 匹配字符
  2. . :任意一个字符。
  3. [abc]:
  4. 表示匹配一个字符,这个字符必须是abc中的一个。
  5. [a-zA-Z]:
  6. 表示匹配一个字符,这个字符必须是a-zA-Z52个字母中的一个。
  7. [^123]:
  8. 匹配一个字符,这个字符是除了123以外的所有字符。
  9. 匹配次数
  10. \{m,n\}
  11. 匹配其前面出现的字符至少m次,至多n次。
  12. \?
  13. 匹配其前面出现的内容0次或1次,等价于\{0,1\}
  14. *:
  15. 匹配其前面出现的内容任意次,等价于\{0,\},所以 ".*" 表述任意字符任意次,即无论什么内容全部匹配。
  16. 匹配位置
  17. ^:
  18. 锚定行首
  19. $
  20. 锚定行尾。技巧:"^$"用于匹配空白行。
  21. \<
  22. 锚定单词的词首。如"\blike"不会匹配alike,但是会匹配liker
  23. \>
  24. 锚定单词的词尾。如"\blike\b"不会匹配alikeliker,只会匹配like
  25. \b
  26. 边界符,如:'\bgrep\b'只匹配grep

扩展的(Extend)正则表达式

  1. 注意要使用扩展的正则表达式要加-E选项,或者直接使用egrep
  2. egrep = grep -E 可以使用基本的正则表达外, 还可以用扩展表达式。
  3. 扩展表达式:
  4. +
  5. 匹配一个或者多个先前的字符, 至少一个先前字符
  6. ?
  7. 匹配0个或者多个先前字符
  8. a|b|c
  9. 匹配abc
  10. ()
  11. 字符组, 如: love(able|ers) 匹配loveablelovers
  12. (..)(..)\1\2
  13. 模板匹配,\1代表前面第一个模板,\2代第二个括弧里面的模板
  14. x{m,n} = x\{m,n\}
  15. * :和基本正则表达式一样

grep命令 一 文本搜索工具的更多相关文章

  1. grep 强大的文本搜索工具

    1.grep -r "History folder does't exist:" * :中间是要搜索的文本,* 表示全部显示出来

  2. [linux] grep 文本搜索工具

    grep [option] pattern file Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep全称是Global Regular ...

  3. grep文本搜索工具详解

    ############grep命令############这个命令属于文本处理三大命令之一,强大的文本搜索工具(贪婪模式)全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达 ...

  4. 二、grep文本搜索工具

    grep命令作为Unix中用于文本搜索的神奇工具,能够接受正则表达式,生成各种格式的输出.除此外,它还有大量有趣的选项. # 搜索包含特定模式的文本行: [root@centos8 ~]#grep p ...

  5. Linux 命令行下搜索工具大盘点,效率提高不止一倍!

    在 Linux 命令行下进行文本关键字的搜索,大家肯定第一时间会想到 grep 命令.grep 命令确实十分强大,但如果需要用到它更加灵活的功能时,可能命令就会显得十分复杂. 于是,为了简化 grep ...

  6. 基于文本图形(ncurses)的文本搜索工具 ncgrep

    背景 作为一个VIM党,日常工作开发中,会经常利用grep进行关键词搜索,以快速定位到文件.如图: 利用grep进行文本搜索 但是,这一过程会有两个效率问题: 展示的结果无法进行直接交互,需要手动粘贴 ...

  7. Linux下替代grep高效文本搜索工具

    1.ack yum install ack 2.ag git clone https://github.com/ggreer/the_silver_searcher.git yum install a ...

  8. awk、sed、grep三大shell文本处理工具之grep的应用

    1.基本格式grep pattern [file...](1)grep 搜索字符串 [filename](2)grep 正则表达式 [filename]在文件中搜索所有 pattern 出现的位置, ...

  9. awk、sed、grep三大shell文本处理工具之sed的应用

    sed 流编辑器 对文本中的行,逐行处理 非交互式的编辑器 是一个编辑器 1.工作流程 1)将文件的第一行读入到自己的缓存空间(模式空间--pattern space),删除掉换行符 2)匹配,看一下 ...

随机推荐

  1. sysprep

    今天做虚拟机模板,以及克隆.单纯的克隆会造成很多冲突问题的产生,所以在这里,windows自带的sysprep功能很好的解决了这一点. 路径位于:C:\Windows\System32\Sysprep ...

  2. 【JS学习】慕课网4-1编程挑战 函数

    要求:小伙伴们,请编写"改变颜色"."改变宽高"."隐藏内容"."显示内容"."取消设置"的函数,点 ...

  3. Delphi 窗体函数 ShowScrollBar 控制滚动条

    API函数 函数来源:FUNCTION ulong ShowScrollBar(ulong hwnd,ulong wBar,ulong bShow) LIBRARY "user32.dll& ...

  4. 分布式项目spring 配置文件的约束

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  5. Shiro学习(17)OAuth2集成

    目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题,OAuth就是干这个的,OAuth2是OAuth协议的下一个版本,相比OAut ...

  6. luoguP2709 小B的询问 [莫队]

    题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重 ...

  7. TrMemo控件

    unit TrMemo; {$R-} interface uses Windows, Messages, Controls, StdCtrls, Classes; const TMWM__Specia ...

  8. AcWing 203. 同余方程 (线性同余方程)打卡

    求关于x的同余方程 ax ≡ 1(mod b) 的最小正整数解. 输入格式输入只有一行,包含两个正整数a,b,用一个空格隔开. 输出格式输出只有一行,包含一个正整数x,表示最小正整数解. 输入数据保证 ...

  9. Jmeter断言-所有断言讲解

    Jmeter断言-所有断言讲解 jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中 ...

  10. leetcode.字符串.12整数转罗马数字-Java

    1. 具体题目 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. I 1V   5X 10L     50C    100D    500M   1000例如, 罗马数字 2 写做  ...