文本查找

grep,egrep,fgrep

grep :Global Research

  根据模式搜索文本,并将符合模式的文本行显示出来

模式:Pattern,文本字符和正则的元字符组合而成匹配条件

grep  'root'  /etc/passwd

  -i :ignore case,忽略大小写

  --color,高亮输出

  -v:反向匹配,显示没有被模式匹配到的行

  -o:只显示被模式匹配到的字符串

*:任意长度的任意字符

?:任意单个字符

[]:

[^]:指定范围外的

正则:Regular Expression,RegExp

元字符:

. :匹配任意单个字符

grep 'r..t' /etc/passwd

[] :匹配指定范围内的任意单个字符

[^] :匹配指定范围外的任意单个字符

  字符集:[:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]

匹配次数(贪婪模式):

* :匹配其前面的字符任意次

  a*b

  a.*b

  a?b

.* :任意长度的任意字符

\? : 匹配其前面的字符1次或0次

\{m,n\} :匹配其前面的字符至少m次,至多n次

  \{1,\} :至少1次

  \{0,3\}:0~3次

grep  'a\{1,\}b'  test.txt  :a至少1次,接b

位置锚定:

^:锚定行首,此字符后面的任意内容必须出现在行首

grep '^r..t' /etc/passwd

$:锚定行尾,此字符前面的任意内容必须出现在行尾

grep 'w$' /etc/inittab :以w结束的行

grep 'b..h$' /etc/inittab :以 b..h结尾的行

^$:空白行

grep '^$' /etc/inittab :匹配空白行

grep '[[:digit:]]$' /etc/inittab :以数字结尾的行

grep '[[:space:]]$' /etc/inittab :以空白字符结尾的行

\<或\b :其后面的任意字符必须作为单词的首部出现

\>或\b :其前面的任意字符必须作为单词的尾部出现

\<root\>

grep 'root\>' test2.txt :root出现在词尾

grep '\<root' test2.txt :root出现在词首

分组:

\(\)

\(ab\)*

grep '\(ab\)*'  test.txt  :ab出现任意次

后向引用

  \1:引用第1个左括号以及与之对应的右括号所包括的所有内容

  \2:

  \3:

grep '\(l..e\).*\1'  test.txt :前面匹配l..e ,后面引用l..e

行中出现任意一数字\([0-9]\),中间跟任意字符.*,行尾以相同数字结尾\1$

grep '\([0-9]\).*\1$' /etc/inittab :前面匹配[0-9] ,后面引用[0-9]

最新文章

  1. MVC调试时遇到的URL问题
  2. scrollview背景头部拉伸
  3. 阿里云 Redis 服务遇到的问题
  4. lvs之dr技术的学习与实践
  5. Delphi out 参数 string Integer
  6. js foreach比for多出两个undefined
  7. Android事件
  8. web开发 关于src跳转
  9. 笔记:java并发编程实践1
  10. XJOIWinterCampPrecontest1-P2队列
  11. Makefile学习总结
  12. Promise对象解读
  13. 【Netty源码学习】入门示例
  14. javascript函数式编程一例分析
  15. 沉默的螺旋--digest
  16. 10分钟学会在Ubuntu 18.04 LTS上安装NFS服务器和客户端
  17. Decision tree(决策树)算法初探
  18. SQL Server with ties 语句
  19. vue-router使用 看着篇就够了
  20. ajax 常用功能 结构分解

热门文章

  1. Mapper.xml映射文件
  2. java使用类序列化反序列化(读写文件)
  3. iOS定时器-- NSTimer 和CADisplaylink
  4. Gradle Goodness: Task Output Annotations Create Directory Automatically
  5. 常用的layer弹出层
  6. jsp内置对象pageContext如何在Servlet中获取值
  7. 解决ssh连接linux系统特别慢的问题
  8. 360极速浏览器用ie8模式打开网页(360浏览器同理)
  9. iOS合并真机和模拟器framework
  10. NodeJ node.js Koa2 跨域请求