grep 文本过滤工具 不改变文本原内容
sed 文本修改工具
awk 把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
正则表达式
正则表达式:{Regualr (有规律的)Expression(表现)正则表达式}, 简写:REGEXP–>RE
正则表达式就是能用某种模式去匹配一类字符串的公式,它是由一串字符
和元字符构成的字符串。
所谓元字符,就是用以阐述字符表达式的内容、转换和描述各种操作信息
的字符。
正则表达式针对的是文本内容,而通配符针对的是文件名称。
分两类:
基本正则表达式:BRE
扩展正则表达式:ERE
正则表达式引擎(httpd,nginx都有使用pcre支持正则表达式)
正则表达式就是能用某种模式去匹配一类字符串的公式,它是由一串字符
和元字符构成的字符串。所谓元字符,就是用以阐述字符表达式的内容、
转换和描述各种操作信息的字符。
正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
简单的说,正则表示式就是处理字符串的方法,它是以行为单位来进行字
符串的处理行为, 正则表示式通过一些特殊符号的辅助,可以让使用者轻
易的达到搜寻/删除/取代某特定字符串的处理程序。
vim、grep、find、awk、sed等命令都支持正则表达式。
拓展的正则表达: egrep 或者 grep -E ,使用egrep的时候,就无需再加
转义符了。
fgrep : 不支持正则表达式
grep
grep: Global(全局) search REgular expression and Print out the
line.
grep 作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查;打印匹配到的行;
模式:由正则表达式的元字符及文本字符所编写出的过滤条件;
例如: grep ‘x*y’ 文件
y
xy
xxx…y
grep 总结:
1)字符匹配
. :匹配单个字符
[ ]:匹配范围内的任意单个字符
2)匹配次数
\?:匹配前面的字符0次或一次,意味着可有可无;
*:匹配前面的字符0次或任意次
.*:匹配任意长度的任意字符
\+:匹配前面的字符1次或任意次,意味着至少一次
\{n\}:匹配其前面的字符n次;
\{n,m\}:匹配其前面的字符至少n次,至多m次;
\{0,n\}:匹配前面的字符至多n次
\{m,\}:至少m次
位置限定
^:行首锚定;用于模式的最左侧;
: 行 尾 锚 定 ; 用 于 模 式 的 最 右 侧 ; P A T T E R N :行尾锚定;用于模式的最右侧; ^PATTERN :行尾锚