码迷,mamicode.com
首页 > 其他好文 > 详细

Day9-2 正则工具简介 上

时间:2018-01-30 22:56:28      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:char   需要   替换   部分   区分   src   打印   文件   sed -e   

正则 一串有规律的字符串

  1. grep
    egrep等效于grep -E
    grep ‘[word]‘ filename 列出文件中含有word的行
    技术分享图片
    -c 行数
    -i 不区分大小写
    -n 显示行号
    技术分享图片
    -v 取反(非目标行)
    技术分享图片
    -r 对目录且遍历所有子目录和文件
    -An 过滤出符合要求的行以及下面n行
    -Bn 过滤出符合要求的行以及上面n行
    -Cn 过滤出符合要求的行以及上下各n行

grep特殊字符(用在引号里)
[0-9] 任一数字
^[chars] 以某个字符开头的行
[^0-9] 非数字(^在中括号内表示取反)
[^a-zA-Z] 非字母
. 任一字符

  • 0个或多个之前的字符(会把型号前那个字符吞掉)
    技术分享图片
    技术分享图片
    技术分享图片
    . 任意数量任意字符(贪婪匹配)
    o{2} 连续两个o(egrep可以直接用,grep需要加脱义字符,o{2})
    (ooo){3} 三次三个o
  • 1或多个之前字符(grep脱义)
    ? 0或1个之前字符(grep脱义)
    | 或者(grep脱义)
  1. sed(可以替换指定字符)
    查找并打印
    技术分享图片
    -r 不需要脱义字符(相当于grep的-E)
    sed -n ‘2,5‘p [filename] 列出第2、5行
    sed -n ‘2,$‘p [filename] 列出第2及以下全部行
    sed -n ‘[keywords]‘Ip [filename] p前加I(大写的i)可以忽略大小写
    sed -e [case1] -e [case2] -e [case3] [filename] 多条件(各条件结果有重合时,会重复打印)
    sed -n ‘1,5‘d [filename] 取1-5以外的行
    sed -i ‘1,5‘d [filename] 删除1-5行(-i 直接对文件操作!)
    sed -i ‘1,5‘p [filename] 增加1-5行(1-5行,每行上复制一行)
    技术分享图片
    sed ‘n,ms/[word1]/[word2]/g‘ [filename] 替换n-m的word1为word2
    sed -r ‘s/([^:]+):(.):([^:]+)/\3:\2:\1/g‘ [filename]
    将第一个:前和最后一个:后的部分互换
    技术分享图片
    sed -r ‘s/([^:]):(.
    ):([^:])/\3:\2:\1/g‘ 离冒号最近的一个字符
    技术分享图片
    sed -r ‘s/([^:]{2}):(.):([^:]{2})/\3:\2:\1/g‘ 离冒号最近的两个字符
    技术分享图片
    sed -r ‘s/(.
    )/[chars]&/‘ 在每行前加特定字符
    技术分享图片
    技术分享图片

Day9-2 正则工具简介 上

标签:char   需要   替换   部分   区分   src   打印   文件   sed -e   

原文地址:http://blog.51cto.com/13582610/2067052

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!