Linux-grep学习笔记
来源:互联网 发布:win10网络授权 编辑:程序博客网 时间:2024/06/04 19:22
Linux Grep
grep简介
- grep是Linux下一个文本搜索工具,全名Globe serach a Regular Expression and Print。
- grep通过正则表达式搜索匹配内容。
- 命令格式:
1.grep [option] 'pattern' file
2.command|grep [option] 'pattern'
===============================
option
- -i:ignore-case,对匹配内容不区分大小写
- -o:only-matching,只输出匹配到的内容
- -v:invert-match,不匹配模式的内容
- -R:recursive,递归搜索,当搜索目录时,将会搜索指定目录以及目录下的所有子目录
- -l:list,files-with-matches,显示内容与模式匹配的文件
- -n:line-number,输出时显示行号
- -c:count,输出匹配内容的行数,不输出匹配内容
===============================
表达符号
^:锚定开头,标记此点是一行记录的开头位置
例:
echo "aassddff"|grep -o '*^'
输出结果将为空,因为一行记录的开头前不可能有任何内容$:锚定结尾
- *:匹配前一字符0此或多次
- .:匹配任意一个非换行符的字符
[]:匹配范围内某一字符
例:
echo "aabbccdd"|grep -o '[ab]'
输出:
a
a
b
b[^]:不匹配范围内所有字符
(pattern):将pattern分组,用来引用,引用第一个分组\1,第二个\2…
例1:
echo "ab44 d44a d" |grep -o '\([0-9][0-9]\) d\1'
44 d44
例2:
echo "ab44 d33a d" |grep -o '\([0-9][0-9]\) d\1'
引用可认为用此前分组匹配的内容替换引用标识,例1和例2中的\1都代表44,所以例1有输出而例2无输出{n,m}:匹配前一字符或分组至少n到m次,n可为0,m可选
注:{n,}表示n到任意次数,{n}表示匹配正好n次
- \<:锚定单词的开头
- >:锚定单词的结尾
- \w:匹配任意一个字母或数字,相当于[A-Za-z0-9]
- \W:与\w相反,匹配任意非字母或数字,相当于[^A-Za-z0-9]
===================================
grep里的与、或
- 与:grep ‘pattern1’|grep ‘pattern2’,其实就是在匹配pattern1的结果集上继续进行pattern2的匹配
- 或:grep ‘pattern1|pattern2’
学习文档、内容参考:
http://baike.baidu.com/link?url=P4CPXqpX6RAPZN3e5HZC3_Xt6ZZY6qj_jkqGBe4RWotvvu4SQmPosuq35tdzd8g0tDqbCjbWh5QT6TEs9Y4jBq
0 0
- Linux-grep学习笔记
- linux grep 学习笔记
- grep命令---Linux学习笔记
- linux学习笔记3之----grep用法
- linux学习笔记—grep命令
- Linux命令学习笔记之grep
- Linux学习笔记:grep及正则表达式
- Grep学习笔记Grep学习笔记
- [Linux] grep命令笔记
- [转]Grep学习笔记
- Grep学习笔记
- grep学习笔记转
- Grep学习笔记
- grep 学习笔记
- Grep学习笔记
- Grep学习笔记
- Grep学习笔记
- Grep学习笔记
- 自定义BadgeButton提醒数字
- 关于去掉Li标签前面的小圆点和距离/显示下划线
- 黑马程序员——网络概念及Socket编程示例
- 安卓 线程 和 线程池
- LeetCode -- Length of last word
- Linux-grep学习笔记
- LeetCode -- Majority Element II
- uva 1599
- poj 2533 Longest Ordered Subsequence (最长上升子序列)
- LeetCode -- Nim Game
- Show Line Numbers显示行号问题
- 超实用的JavaScript代码段 Item4 --发送短信验证码
- 阅读开源项目源代码的方法
- 小米开源便签Notes-源码研究(0)-整体功能介绍(图文并茂)