Linux.CommanlineTool.grep
grep
grep [options] PATTERN [FILE...]
grep [options] [-e PATTERN | -f FILE] [FILE...]
1. grep的Regular Expression
Ref[1]
A): 匹配单字符
reg ex中基本的构建块是匹配单个字符的reg ex。大多数字符(包括数字和字母)都是匹配自己的reg ex。
B): 元字符
任何有特殊含义的元字符(metacharacter)都是被前导的反斜线(backslash, 即: \)开始标识。
C): bracket expression
bracket expression是由[]包围的字符列表。这类表达式匹配列表中的任何一个字符(注意是 只匹配一个字符)。
如果^是字符列表中的第一个字符,则该表达式匹配任意一个不在列表中的字符。
例如:[0123456789] 匹配任意一个单一数字; [a-z] 匹配任意一个小写字母。
要匹配字符']', 则需要将']'放在字符列表的第一个位置。例如: []a-z]
类似的要匹配'^'需要将'^'放在字符列表中非第一的位置。例如: [a^]
类似的要匹配'-'需要将'-'放在字符列表中的最后的位置。 例如: [a-]
D): 命名的字符类别 (named classes of characters)
[:alnum:] [:alpha:] [:cntrl:] [:digit:] [:graph:] [:lower:] [:print:] [:punct:] [:space:] [:upper:] [:xdigit:]
E): '.' 圆点匹配任意一个单一字符。 \w 和 [[:alnum:]] 同义, \W 和 [^[:alnum:]] 同义。
F): ^ 和 $ 分别匹配一行的开始和结尾的空字符串。例如:
$ grep ^line1 data
匹配文件data中以"line1"开头的行。
G): \< \>
The symbols \< and \> respectively match the empty string at the beginning and end of a word.
H): \b \B
The symbol \b matches the empty string at the edge of a word, and \B matches the empty string
provided it's not at the edge of a word.
I): 重复操作符 (repetition operator)
? |
The preceding item is optional and matched at most once. |
* |
The preceding item will be matched zero or more times. |
+ |
The preceding item will be matched one or more times. |
{n} |
The preceding item is matched exactly n times. |
{n,} |
The preceding item is matched n or more times. |
{n,m} |
The preceding item is matched at least n times, but not more than m times. |
J): 匹配元字符 *
?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions \?, \+, \{, \|, \(, and \)
K): reg ex的操作: concatenation, join
Two regular expressions may be concatenated; the resulting regular expression matches any string formed
by concatenating two substrings that respectively match the concatenated subexpressions.
Two regular expressions may be joined by the infix operator |; the resulting regular expression matches
any string matching either subex- pression.
Repetition takes precedence over concatenation, which in turn takes precedence over alternation.
A whole subexpression may be enclosed in parentheses to override these precedence rules.
The backreference \n, where n is a single digit, matches the substring previously matched by the nth parenthesized
subexpression of the regu- lar expression.
例如: $ grep "line1\|line2" data
匹配包含"line1"或者"line2"的行。
2. grep的Example
[Todo]: Ref[2]
Reference
1. grep
http://unixhelp.ed.ac.uk/CGI/man-cgi?grep
2. Advanced Regular Expressions in Grep Command with 10 Examples – Part II
http://www.thegeekstuff.com/2011/01/advanced-regular-expressions-in-grep-command-with-10-examples-%E2%80%93-part-ii/
Linux.CommanlineTool.grep的更多相关文章
- 由一条Linux的grep命令说起
今天在开发的时候,看到同事使用了这样的一条linux命令 grep 'class YourClass' -rwi * |grep -v svn 想到了 grep命令的,几个参数. -r 明确要求搜索子 ...
- Linux下grep显示前后几行信息
Linux下grep显示前后几行信息 标准unix/linux下的grep通过下面參数控制上下文 grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行grep -B ...
- linux 命令grep
linux 命令grep grep命令用来搜索文本,或从给定的文件中搜索行内包含了给定字符串或单词的文件.通常来说,grep显示匹配的行.使用grep来搜索包括一个或多个正则表达式匹配到的文本行,然后 ...
- Linux 命令 - grep: 正则搜索文本
grep 搜索文本文件中与指定正则表达式匹配的行 命令格式 grep [OPTIONS] PATTERN [FILE...] 命令参数 Generic Program Information --he ...
- linux 用grep匹配横线
file的内容如下: ADSFADSFSDFASDFJKJK----------------------------------------ADSFADSFSDFASDFJKJK----------- ...
- Linux正则表达式grep与egrep
grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...
- 12个 Linux 中 grep 命令的超级用法实例
12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...
- Linux中Grep常用的15个例子【转】
转自:https://www.aliyun.com/jiaocheng/1390860.html?spm=5176.100033.1.9.6a1e41e8Pdjynm 摘要:Grep命令主要用于从文件 ...
- 【linux】linux命令grep + awk 详解
linux命令grep + awk 详解 grep:https://www.cnblogs.com/flyor/p/6411140.html awk:https://www.cnblogs.com ...
随机推荐
- 主流浏览器 Cookie 的大小
目前测试的两种浏览器:Chrome 和 IE . 环境:IIS 7.5 只创建了站点,未做任何配置. Chrome : v36.0.1985.143 m 单个 Cookie 的长度为 4069 个字符 ...
- QuickSand图片点击后分裂成几份消失效果《IT蓝豹》
QuickSand图片点击后分裂成几份消失效果 QuickSand图片点击后分裂成几份消失效果,适合做图片退出和剪切效果.同时也可以学习android动画. demo中都封装好几个功能类,主要动画实现 ...
- spring boot 的服务监控
- pring Boot 与Spring Cloud版本对应
Spring Boot Spring Cloud 1.2.x Angel版本 1.3.x Brixton版本 1.4.x Camden版本 1.5.x Dalston版本.Edgware版本 2.0. ...
- linux下安装zabbix服务器
1.lnmp环境安装(linux.nginx.mysql.php) 2.安装php所需模块以及其他模块 yum install -y php-bcmath yum install -y php-mbs ...
- ORA-01578 ORACLE data block corrupted (file # 29, block # 2889087)
BW数据库后台报错如下:F:\oracle\SBP\saptrace\diag\rdbms\sbp\sbp\trace ORA-01578: ORACLE data block corrupted ( ...
- 【OpenGL】glsl、glew、glfw
glsl: OpenGL着色语言(OpenGL Shading Language)是用来在OpenGL中着色编程的语言,也即开发人员写的短小的自定义程序,他们是在图形卡的GPU (Graphic Pr ...
- 【pyspider】关于匹配html的数据
今天刚刚接触pyspider,在调试的时候注意匹配数据可以这样写: <div class="download-wp"> <a data-app-i ...
- 纯css3棋盘图案背景以及45度斜纹背景
css代码 .stripes { height: 250px; width: 375px; float: left; margin: 10px; ...
- 顺时针打印矩阵(python)
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...