sed学习笔记

sed流处理工具(行处理工具)正则表达式

格式:sed 【选项】 '地址命令;地址命令'  【文件】工具

             例:sed -n '/root/p' /etc/passwd变量

经常使用选项:扩展

        -n                          不自动打印sed

        -e                          多点编辑file

        -f /path/file       从指定文件读取编辑脚本循环

        -r                            支持使用扩展正则表达式文件读取

        -i.bak                    备份文件并原处编辑数据

经常使用编辑命令:脚本

        d                            删除匹配的行,并当即启用下一轮循环

        p                            打印匹配内容,追加到默认输出以后

        a[\]text                在匹配行后面追加文本,支持使用\n实现多行追加

        i[\]text                 在匹配行前面追加文本

        c[\]text                替换匹配行为单行或多行文本

        w  /path/file      保存匹配的行至指定文件

        r /path/file         读取指定文件的文本至匹配的行后

        =                             为行打印行号

        !                           对匹配的行取反处理

 

s///                查找替换,支持使用其余分隔符@@@、###

替换标记

        g              行内全局替换

        p              显示替换成功的行

        w  /path/file    将替换成功的行保存到文件中

#sed 's/'''$var'''/zfc/'   /etc/passwd                        '''变量var'''

 

高级编辑命令

        P                打印模式空间开端至\n内容,并追加到默认输出以前

        h                把模式空间的内容覆盖至保持空间

        H                把模式空间的内容追加至保持空间

        g                从保持空间取出数据覆盖至保持空间

        G                从保持空间取出数据追加至保持空间

        x                把模式空间中的内容和保持空间中的内容互换

        n                读取匹配到的行的下一行覆盖至模式空间

        N                读取匹配到的行的下一行追加至模式空间

        d                删除模式空间中的行

        D                若是模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本,并不会读取新的输入行,而使用合成的模式空间从新启动循环。若是模式空间不包含换行符,则会像d命令那样启动正常的新循环。

相关文章
相关标签/搜索