• linux命令---sed


    用途

    sed, 流编辑, 可以用来分析standard input, 还可以将数据进行取代, 删除, 新增, 取特定行.

    用法

    sed -nefr action

    选项与参数:

      -n: 在一般sed用法中, 所有来自stdin的数据一般都会被列出到屏幕上, 但如果加上-n参数, 则只有经过sed特殊处理的那一行(或动作)才会被列出来.

      -e: 直接在指令列模式上进行sed的动作编辑

      -f: 直接将sed的动作写在一个档案内, -f filename 则可以执行filename内的sed动作

      -r: sed的动作支持的延伸型正则表示法的语法

      -i: 直接修改读取的档案内容, 而不是有屏幕输出

    动作说明: [n1, n2]function

      a: 新增, a的后面可以接字符串, 这些字符串会在新的一行出现(目前的下一行)

      c: 取代, c后面可以解字符串, 这些字符串可以取代n1, n2之间的行

      i: 插入, i的后面可以接字符串, 这些字符串会在新的一行出现(目前的上一行)

      p: 打印, 将某个选择的数据印出(通常与-n一起)

      s: 取代, 可以直接进行取代(通常搭配正则表示法)

    示例

      1. 将/etc/passwd的内容列出并打印行号, 同时, 删除第2~5行

    nl /etc/passwd | sed '2,5d'

      2. 承上题, 在第二行后加上'drink tea'字样

    nl /etc/passwd | sed '2a drink tea'

      3. 在第二行前增加多行

    nl /etc/passwd | sed '2a Drink tea or ...> drink beet?'

      4. 将第2-5行的内容取代为'No 2-5 number'

    nl /etc/passwd | sed '2,5c No 2-5 number'

      5. 仅列出第5-7行

    nl /etc/passwd | sed -n '5,7p'

    <未完>

  • 相关阅读:
    Java之多线程(实现Runnable接口)
    Java之使用HttpClient发送GET请求
    hbase中文内容编码转换
    Java之utf8中文编码转换
    Java之正则表达式
    Java之List排序功能举例
    maven测试时中文乱码问题解决方法
    Hbase之IP变更后无法启动问题解决
    Hbase远程连接:Can't get the locations
    重启Hbase命令
  • 原文地址:https://www.cnblogs.com/ezhengnan/p/3754841.html
Copyright © 2020-2023  润新知