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' 文件名  (
    换行)
    
    
  • 相关阅读:
    Find the Smallest K Elements in an Array
    Count of Smaller Number
    Number of Inversion Couple
    Delete False Elements
    Sort Array
    Tree Diameter
    Segment Tree Implementation
    Java Programming Mock Tests
    zz Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
    Algorithm about SubArrays & SubStrings
  • 原文地址:https://www.cnblogs.com/wml3030/p/15476646.html
Copyright © 2011-2022 走看看