Linux命令之乐--sed

sed是stream edit的缩写,是处理文本非常重要的工具。

常见用法:

1. 替换文本

1.1 替换文本中的第一处符合的样式

    sed 's/pattern/replace_string' file

    或者

    cat file | sed 's/pattern/replace_string'

1.2 替换全局的符合的样式

     sed 's/pattern/replace_string/g' file

1.3 直接修改原文件

      sed -i 's/pattern/replace_string/g' file

1.4 忽略前面N-1的匹配,从N开始替换

      $ echo this this this|sed 's/this/THIS/2g'

          this THIS THIS

1.5  同时替换多个样式,中间用;隔开

      $ echo a b c|sed 's/a/d/g;s/b/e/g;s/c/f/g'

        d e f

2.  删除匹配项

      sed '/pattern/d' file

   常用于删除空白行

      sed '/^$/d' file

3. 已匹配的字符串标记&

    echo hello China|sed 's/China/[&]/g'

    hello [China]

4. 子串标记,匹配给定样式中的一部分

    echo this is dight 7 in a number | sed 's/dight \([0-9]\)/\1/'

    this is 7 in a number

工作中的应用:

给文本中的每一行添加""

     $ sed 's/^/\"&/g;s/$/&\"/g;s/\r//g' file

     "hello"

     "linux"

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接:sed命令_Linux sed 命令用法详解:功能强大的流式文本编辑器 http://man.linu...
    e2ae5d4bd7c1阅读 817评论 0 1
  • sed是一种流编辑器,它是文本处理中非常好的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的...
    Summer_1981阅读 699评论 0 1
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,545评论 0 13
  • linux sed命令详解 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行...
    很少更新了阅读 2,173评论 0 6
  • sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的...
    ChinaLeee阅读 353评论 0 0