sed     行编辑器
                pattern space
                hold space
处理逻辑:逐行读取,读入一行,默认打印一行,进行逻辑处理,再读入下一行,知道文件结尾。
sed script:'address command' 地址定界+命令
选项:
                -n:不打印模式空间行
                -e:多点操作
                -f: 使用脚本文件

地址定界:
                #: 第#行
                #,#+3:#~#+3行
                /pattern/:模式匹配定界
                /pattern/,/pattern/:模式定界
                #,/pattern/:组合定界
                $: 最后一行
                1~2:奇数行
                2~2:偶数行
命令:
                p:打印
                d:删除
                !:取反
                a:在下一行追加,有空格要转义,有变量要放在'''$VAR'''
                i:在匹配行上一行插入内容
                c:替换
                w:写到文件中 
                r:读入文件
                =:打印行号 
高级用法:
                P: 打印模式空间开端至\n内容,并追加到默认输出之前 
                h:  把模式空间中的内容覆盖至保持空间中 
                H:把模式空间中的内容追加至保持空间中 
                g:  从保持空间取出数据覆盖至模式空间 
                G:从保持空间取出内容追加至模式空间 
                x:  把模式空间中的内容与保持空间中的内容进行互换 
                n:  读取匹配到的行的下一行覆盖至模式空间  
                N:读取匹配到的行的下一行追加至模式空间 
                d:  删除模式空间中的行 
                D:如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本, 并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间 不包含换行符,则会像发出d命令那样启动正常的新循环