一、什么是正则表达式
简单的说,正则表达式就是处理字符串的方法,是以行为单位来进行字符串的处理行为,通过一些特殊字符的辅助,用以查找、替换、删除某特定字符串的处理程序。
二、语系对正则表达式的影响
我们知道,我们看到的字符文字与数字都是通过编码表转化而来的。由于不同语系的编码表是不相同的,所以会造成数据选取结果的不同。
举个例子,在英文大小写的编码顺序中,zh_CN.big5及C这两种语系的输出结果分别入下:
LANG=C: 0 1 2 3 4……A B C……a b c……z
LANG=zh_CN: 0 1 2 3 4……a A b B……z Z
所以,在使用正则表达式时,需要注意当时环境的语系是什么,否则会影响选取结果。
下面介绍一些特殊符号的含义:
LANG=C: 0 1 2 3 4……A B C……a b c……z
LANG=zh_CN: 0 1 2 3 4……a A b B……z Z
所以,在使用正则表达式时,需要注意当时环境的语系是什么,否则会影响选取结果。
下面介绍一些特殊符号的含义:
三、grep的一些高级参数
grep [-A] [-B] [–color=auto] ‘搜索字符串’ filename
参数:
-A:后面可加数字,除了列出该行外,后序的n行也列出来
-B:前面可加数字,除了列出该行外,前面的n行也列出来
–color=auto可将正确的那个选取数据列出颜色
参数:
-A:后面可加数字,除了列出该行外,后序的n行也列出来
-B:前面可加数字,除了列出该行外,前面的n行也列出来
–color=auto可将正确的那个选取数据列出颜色
eg:用dmesg列出内核信息,用grep找出内含eth的那行。
四、基础正则表达式字符(例子见下文)
1、待查找的字符串(word)在行首
RE字符:^word
范例 :查找行首为#开始的那一行,并列出行号(grep 后带 -n 的作用)
命令 :grep -n '^#' regular_express.txt
2、待查找的字符串(word)在行尾