正则表达式-Linux系统的任督二脉

1.什么是正则表达式

正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。
正则表达式基本上是一种“表示法”,只要工具程序支持这种表示法,那么该工具程序就可以用来作为正则表达式的字符串处理之用。

2.正则表达式的用途

  • 对于系统管理员来说,在系统的数据量特别大的时候,想查看一行有问题的信息,就可以用正则表达式将信息来进行分析,这样系统的管理工作就会更加方便。
  • 邮件服务器,是最常见的使用正则表达式的地方。

3.基础正则表达式

正则表达式只是处理字符串的一种表示方法,对字符排序有影响的语系数据就会对正则表达式的结果产生影响。正则表达式也需要支持工具程序辅助才行,最简单的字符串选取工具就是grep。

语系的影响

例如

  • LANG=C时:0 1 2 3 4 … A B C D…Z a b c …z
  • LANG=zh_CN时:0 1 2 3 … a A b B c C …z Z
    为了避免这样的编码所造成的英文与数字的选取问题,有些特殊的符号得让我们了解一下。
特殊符号 代表意义
[:alnum:] 代表英文大小写字符及数字,即0-9,A-Z,a-z
[:alpha:] 代表英文大小写字符,即A-Z,a-z
[:blank:] 代表空格键和Tab按键
[:cntrl:] 代表键盘上的控制按键,即包括CR,LF,Tab,Del等
[:digit:] 代表数字而已,即0-9
[graph] 除了空格符之外的所有字符
[:lower:] 代表小写字符,即a-z
[:upper:] 代表大写字符,即A-Z
:print: 代表任何可以被打印出来的字符
[:punct:] 代表标点符号(punctuation symbol),即" ’ ? / : ;# $
[:space:] 任何会产生空白的字符,包括空格键[Tab]CR等
[:xdigit:] 代表十六进制的数字类型,因此包括0-9,A-F,a-f的数字与字符

grep的一些高级参数

grep [-A][-B] [--color=auto] '搜寻字符串' filename
-A:后面可加数字,为After的意思,除了列出该行外,后续的n行业列出来
-B:后面可加数字,为befor的意思,除了列出该行外,前面的n行业列出来
--color=auto可将正确的那个选取数据列出颜色
dmesg 可列出内核产生的信息

grep是一个很常见也很常用的命令,它最重要的功能就是进行字符串数据的对比,然后将符合用户需求的字符串打印出来,需要说明的是grep在数据中查找一个字符串时,是以整行为单位来进行数据的选取的
注意
在关键字的显示方面上,可以在~/.bashrc内加上这行:alias grep=‘grep --color=auto’,再以“source ~/.bashrc”来生效即可,这样每次执行grep它都会自动帮你加上颜色显示。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章