zoukankan      html  css  js  c++  java
  • sed编辑器

    sed

    sed是一个非交互式的流文本编辑器,可实现增删改查,广泛适用于shell脚本中

    工作原理
    sed每次只从文本或标准输入中读取一行数据,将其拷贝到一个编辑缓冲区,然后对其如同命令一般处理,并显示出,
    sed默认不直接修改文件,它只是显示到屏幕,-i:则修改文件

    格式
    sed [选项] '地址 编辑命令' 输入文件
    shell 命令 | sed [选项] '地址 编辑命令'
    sed [选项] -f sed sed脚本文件 输入文件

    常用选项

    • -e:指定要执行额度命令,只有一个编辑命令可省略
    • -n:值输出处理后的行,读入时不显示,不对原文件修改
    • -i:直接编辑文件
    • -f: 从脚本文件中读取编辑命令执行

    编辑命令格式
    '地址 编辑命令'
    地址:行数,正则表达式,$,没有地址则为全文

    操作:

    • p:打印
    • d:删除
    • s:替换字符串
    • c:替换整行
    • r:读取指定文件
    • =:显示文件行号
    • a:append,追加指定内容到行后
    • i:inset,追加指定内容到行前
    • w:另存为
    • n:表示读入下一行内容
    • H:复制到剪贴板
    • g:将剪贴板中的内容覆盖到指定行

    eg:

    打印十二行内容:sed -n '12p' 文件名
    输出3到5行内容:sed -n '3,5p' 文件名
    输出所有奇数行:sed -n 'p;n' 文件名
    输出1到5行的奇数行:sed -n '1,5{p;n}' 文件名
    输出所有偶数行:sed -n 'n;p' 文件名
    输出包含字母“H”的行:sed -n '/H/p' 文件名
    输出最后一行:sed -n '$p' 文件名
    
    
    删除第十六行:sed '16d' 文件名
    删除空行:sed -i '/^$/d' 文件名
    删除一和三行:sed -e '1d' -e '3d' 文件名  / sed '1d;3d' 文件名
    
    
    替换o到O:sed 's/o/O/g' 文件名
    以p为开头的行的行首加上#:sed '/^P/s/^/#/' 文件名
    在每行行尾插入字符串EOF:sed 's/$/EOF/' 文件名
    将第二行替换为AAAA:sed '2cAAAA' 文件名
    将第五行到最后一行替换为两行AAAA,BBBB:sed '5.$cAAAA
    BBBB' 文件名  (
    换行)
    
    
  • 相关阅读:
    记录一则enq: TX
    RAC节点两边存储名字不一致导致的故障及相关延伸
    记录一则fsck的简单案例
    RAC某节点v$asm_disk查询hang分析处理
    统计信息自动收集任务失效原因排查
    OEMCC 13.2 安装部署
    Linux平台Oracle 12.1.0.2 单实例安装部署
    java 除法运算只保留整数位的4种方式
    eclipse spring 配置文件xml校验时,xsd报错
    oracle decode()函数的参数原来可以为sql语句!
  • 原文地址:https://www.cnblogs.com/wml3030/p/15476646.html
Copyright © 2011-2022 走看看