linux下sed命令笔记

时间:2022-11-28 08:53:15

sed 流编辑器 Stream EDitor
三大文本处理工具:grep,sed,awk

语法:sed 'AddressCommand' file ...
Address:
    1,StartLine,EndLine
        1,100
    2,/RegExp/
        /^root/
    3,/pattern1/,/pattern2/ 模式1至模式2中间的行
    4,LineNumber 指定的行
    5,$ 最后一行
    6,StartLine,+n 从StartLine行开始以后的n行
    
Command:
    d:删除符合条件的行
    p:显示符合条件的行
    a \string 在指定的行后面追加新行"string"
    i \string 在指定的行前面追加新行"string"
    r FILE(文件路径) 将指定的文件内容添加至符合条件行后面
    w FILE(文件路径) 将模式匹配到的行另存至FILE
    s /pattern/string/查找并替换 将模式匹配到的字符串替换为”string“
        默认只替换每行中第一次被匹配到串
        加修饰符
            g 全局替换
                s /pattern/string/g
            i 忽略大小写
        s\\\ s### s@@@
    \(\),\1,\2 后向引用
    & 引用模式匹配到的整个串
    
options
    -n 静默模式(不再默认显示模式空间中的内容)
    -i 直接修改原文件
    -e SCRIPT -e SCRIPT 同时执行多个脚本
    -f /PATH/TO/SED_SCRIPT
        sed -f /path/to/script file
    -r 使用扩展正则表达式