bash中正则表达式

工作中需要用bash的地方不是很多,之前只是大致了解过,每每用到都得去网上查询,遂决定以后将所用到的正则用法在这里统一收藏,便于学习。

1、echo 'inet addr:10.1.1.1  Bcast:10.2.1.1  Mask:255.255.255.0'|sed -n 's/^.*addr:(10.*) [[:space:]]Bcast:.*$/1/p'
     结果:10.1.1.1

    参考:   
    http://lht821008.blog.163.com/blog/static/41647862011042735914/ 
*  http://coolshell.cn/articles/9104.html    
    http://qujunorz.blog.51cto.com/6378776/1380657

   点记:
   ‘/’:在regular expression前后必须加上“/”.例如指令为/t.*t/d,表示删除所有含两”t“的资料行。其中”.”表示任意字元;“*”表示其前字元可重任意此;
   '':由于在正则表达式中“”、”?等字符已经具有某一特定意义,如果需要用它们的原始意义,则应该对它进行转义,例如希望在字符串中至少有一个“”,那么正则表达式应该这么写:\+
  

    参考:
    http://redhatcciezhang.blog.51cto.com/3058894/1242294

原文地址:https://www.cnblogs.com/nerrissa/p/4216734.html