1. 正则表达式与命令中的通配符是有区别

  #ll *.sh  ==这是通配符

  linux一般是以行为单位进行处理

  如果乱码,则需设置字符集: LC_ALL=C

  

  grep 命令

    -v 表示排除掉匹配的行

-o 只输出匹配的内容

-E 表示特殊字符不需要转义

-i 忽略大小写

--color=auto 匹配的内容显示颜色

-n 在行首显示行号

  sed 命令

   s替换

   g全局

   p打印

   -i 修改文件 

   -n 取消默认输出

   

   #sed 's/查找内容/替换内容/g' file.txt ==其中/可用#@等替换

   #sed 's/()/\1/g' ==其中\1表示第1个括号内容,以此类推

   取ip和广播地址

   # sed -n 's/^.* inet \(.*\) brd \(.*\) s.*$/\1 \2/p' ipaddr.txt

  egrep 相当 grep -E

  

2. 基础正则表达式:BRE-basic regular expression

  a> ^word 表示搜索以word开头的内容

  #grep "^1" ipaddr.txt

  b> word$ 表示搜索以word结尾的内容

  #grep "er$" ipaddr.txt

  c> ^$ 表示空格

  #grep "^$" ipaddr.txt

  #grep -v "^$" ipaddr.txt == -v表示过滤掉

  d> .   表示且只能代表任意一个字符 eg: \. 只表示小数点  

  e> \   表示转义字符,请有着特殊身份意义的字符,脱掉马甲,还原原型  

  f> *   表示重复0个或多个前面的一个字符,不代表所有

  

  g> .*   表示匹配所有的字符  

  h> ^.*  表示以任意字符开头;.*$ 表示以任意字符结尾

  

  i> [abc] 表示匹配字符集合内任意一个字符

         [a-z]表示匹配所有小写字符

         [0-9]表示匹配所有数字

  

  j> [^abc] 表示不匹配字符集合内任意一个字符

  k> {n,m}  表示前面一个字符重复n到m次

    {n,}  表示至少重复n次

    {n}   表示只重复n次

    {,n}  表示最多重复n次