您的位置:首页 > 运维架构 > Linux

Linux 正则表达式与文件格式化处理

2017-08-10 08:45 423 查看
正则表达式

    处理字符串的方法,通过一些特殊符号的辅助,让用户轻易达到查找、删除、替换某特定字符串的处理程序。

  1.特殊符号:

    [:alnum:] 代表英文大小写字符与数字 即 [a-zA-Z0-9]

    [:alpha:] 代表任何英文大小写字符,即[a-zA-Z]

    [:blank:] 代表空格键与『tab』按键

    [:cntrl:] 代表键盘上面的控制按键,即包括CR,LF,Tab,Del等

    [:digit:] 代表数字而已,即[0-9]

    [:graph:] 除了空格符(空格键与『Tab』按键)外的其他所有按键

    [:lower:] 代表小写字符,即[a-z]

    [:print:] 代表任何可以被打印出来的字符

    [:punct:] 代表标点符号(punctuation symbol)即“‘!?;:¥#

    [:upper:] 代表大写字符,即[A-Z]

    [:space:] 任何会产生空白的字符,包括空格键『Tab』CR等

    [:xdigit:] 代表十六进制的数字类型,因此包括0-9,A-F,a-f

基础正则表达式字符:

^word :word in the start

word$ :word in the end

.           :must have one character  PS: grep -n 'e.e' regular_express.txt

\           :\'  == '

*          :0-n the after characters PS: grep -n 'o*'  __n o   |   grep -n 'o**' __more than one o  

[list]    :[af]  __ a / f

[n1-n2]   : a-f  __ a b c d e f 

[^list]   :not list

\{n,m\} :n - m after characters   PS: grep -n 'go\{2,3\}g'  2 or 3 o   between the g and g

Sed工具:

    -n  只显示处sed处理过的行 nl /etc/passwd | sed -n '5,7p'

    -i   直接修改文件数据而不显示

    a:新增,a后接字符串,在新的下一行显示   nl /etc/passwd | sed '2a Drink'

    c:替换      nl /etc/passwd | sed '2,5c No 2-5Number'

    d:删除  如 '2,5d'删除2到5行   nl /etc/passwd | sed '2,5d'

    i:新增,在下一行显示

    p: 打印

    s: 替换 1,20s/old/new/g
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: