文本查找的需要
grep,egrep,fgrep

grep:Global Research。根据模式,去搜索文本,并将符合模式的文本行显示出来
Pattern:文本字符和正则表达式的元字符组合而成匹配条件

grep:
  grep [options] PATTERN [FILE...]
  [root@localhost ~]# grep 'root' /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  operator:x:11:0:operator:/root:/sbin/nologin
  [root@localhost ~]#
  -i:不考虑大小写
  --color:颜色高亮
  -v:反向查找,显示没有被模式匹配的行
  -o:只显示被模式匹配的字符串

正则表达式:REGular EXPression,简写为REGEXP
元字符:
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符

字符个数:
*:匹配其前面的字符任意次
  a*b:的意思就是a可以出现任意次(包括0次),随后跟了个b。比如 b、ab、aab、
  a.*b:这才表示任意长度的任意字符
.*:任意长度的任意字符
默认情况下,正则表达式工作在贪婪模式下。就是能匹配到哪就匹配到哪,尽可能长的去匹配。比如上面的a.*b:amnb是可以的,amnbmnbmnb也是可以匹配到的
\?:匹配其前面的字符一次或0次
\{m,n\}:匹配前面的字符至少m次,至多n次

位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行

\<或者\b:锚定词首,其后面的任意字符必须作为单词的首部出现
\>或者\b:锚定词尾,其前面的任意字符必须作为单词的尾部出现

分组:
\(\):分组
  后向引用
  \1:引用第一个左括号以及与之对应的右括号所包括的所有内容
  \2:
  \3:
  ...

grep:使用基本正则表达式定义的模式来过滤文本的命令
  -i
  -v
  -o
  --color
  -E:使用扩展正则表达式
  -A #:其后(#是数字,数字几就是其几行)
  -B #:其前
  -C #:其前后

扩展正则表达式:

字符匹配:
.
[]
[^]

次数匹配:
*:
?:
+:匹配其前面的字符至少一次,
{m,n}:扩展正则表达式的花括号不需要使用反斜线

位置锚定:
^
$
\<
\>

分组:
():分组
\1,\2,\3,...

或者
|:or的意思,a|b是a或者b

C|cat:C或cat。或者是整个两边都或
(C|c):利用分组匹配小c或大C

grep -E = egrep

fgrep:fast,不支持正则表达式

最新文章

  1. 【kAriOJ】离散数学 构造群码 极大似然法解码
  2. 使用Asp.net WebAPI 快速构建后台数据接口
  3. 如何判断UIPanGestureRecognizer的拖动方向
  4. IOS 实现 AAC格式 录音 录音后自动播放
  5. UTF-8 带签名和不带签名的区别
  6. java 高效批量插入 sqlserver 数据库
  7. 单选复选按钮以及Toast学习笔记
  8. 如何写科技文章的讨论discussion部分
  9. Oracle由ID生成父ID的函数
  10. Eclipse 快捷键整理
  11. 用js+cookie实现商城的购物车功能
  12. CSS特例定位方式
  13. node01
  14. TCP报文首段格式
  15. 【编程基础】C语言常见宏定义
  16. 实验一Java开发环境的熟悉-3
  17. [jsp] - jsp引入c标签出错
  18. sudo配置教程
  19. poj 2387——单源最短路权值大于0
  20. fedora 安装gdal

热门文章

  1. Windows下Git Bash中VIM打开文件中文乱码
  2. 2019-04-15 Python之利用matplotlib和numpy的简单绘图
  3. Linux的top命令学习【转载】
  4. Javascript循环删除数组中元素的几种方法示例
  5. IDEA开发工具的学习
  6. Uncaught TypeError: Cannot read property &#39;getters&#39; of undefined
  7. selenium各种定位方法(转)
  8. 67.web--手机端兼容性问题
  9. “QObject调用moveToThread()后 该如何释放”及QThread 的启动关闭
  10. Go 初体验 - 错误与异常处理