sed 命令的使用及shell判断语句
      sed—>stream editor 行编辑器,sed [option] ‘address command’ filename

      address 有以下几种  n   eg ‘3d’ 删除第三行
                 n1,n2  eg ‘3,7d’ 删除第三行到第七行
                 /regexp/    eg ‘/^com/d’ 删除以com开头的行
                 1,/regexp/ eg ‘1,/regexp/d 删除从第一行道匹配到的第一行
                 0,/regexp/ eg ‘0,/regexp/d 删除从第一行道匹配到的最后一行
                 1~2 eg ‘1~2d’ 删除1,3,57……奇数行
                 2~2 eg ‘2~2’  删除2,4,6,8……偶数行
                 $               匹配到文件的最后一行
                 n,+m eg ’10,+9’   删除从第十行的后九行
      command有以下几种

                 d   删除
                 s   替换
                 p   打印(常与-n联合使用)
                 a   在当前行之后添加一行
                 i    在当前行之前添加一行
      option 选项
                 -n  只显示匹配到的行
                 -e  添加多个命令
                 -f 后面接文件(内容为sed 除sed的内容,但不加单引号)
                 -r   使用扩展正侧表达式
           sed应用示例:
                 sed –e [address command] –e [address command] filename

                 sed –f filename

                 sed –n ‘1,3p’ filename 显示匹配到的一到三行
                 sed ‘/first/,/second/d’ filename 删除含有first和second的行
                 sed ‘n1,n2s/A/a/’ filename 把filename中n1到n2行的A替换成a

 

      命令执行完的状态用$?表示 如果执行成功其值为0,否则为1~255

      linux的短路操作符 ||(或) 和&&(与)
      shell中条件测试:
                      1    test expression

                       2   [ expression ]         方括号与表达式中有空格
                       3   ` expression `

           整数的测试:
                      1  -gt       大于
                      2    -ge      大于等于
                      3    -lt        小于
                      4    -le       小于等于
                      5   -eq      等于
                      6    -ne      不等于
           字符串测试:
                      1  =或==           比较字符串
                      2  > >= < <=     

                      3    -n        是否为空
                      4    -z        是否存在
           文件测试:
                      1    -d        是否为目录
                      2    -e        是否存在
                      3    -f         是否是普通文件
                      4    -L(-h)文件是否为连接文件
                      5    -r –w –x 对文件的权限判断
                      6    -O -G 同是对文件权限判断(属主,属组)
判断语句
              if     if  statement;then        或   if statement;then           或 if statement;then

                            执行语句                          执行语句                          执行语句
                     fi                                        else                                    elif statement;then

                                                                      执行语句                          执行语句
                                                                                                         else

                                                                                                                执行语句
              while/until  while 测试条件;do

                                          执行语句
                                          done

              注意while的测试条件一定是可变条件否则会死循环。
      bash –n filename 测试脚本的语法错误
      bash –x filename 测试脚本的逻辑错误
      脚本中引用传进来的参数:直接用$1 $2 $3表示第一个,第二个,第三个参数,如果超过9个用${n}引用
      读取数据用read 命令:
           read A 后面输入的内容赋给A

           read A B 读入的内容按空格分别赋给A和B。如有多个空格,第一个空格前的内容给A,剩下的都给B。