sed命令讲解

发布时间 2023-04-25 15:46:11作者: 海_纳百川

sed 是一种流编辑器,它可以从文本文件、标准输入或管道中读取文本流,并将其进行编辑、转换和格式化输出。它的主要作用是对文本进行模式匹配和替换。

以下是一些常用的 sed 命令:

  1. 替换命令:s

    s 命令可以用来替换文本中的某些内容。它的基本语法如下:

    s/old/new/g

    其中,old 是需要替换的文本,new 是替换成的文本。g 表示替换所有匹配到的文本,而不仅仅是第一次匹配。

    例如,下面的命令将把文件中所有的 "foo" 替换为 "bar":

    sed 's/foo/bar/g' file.txt
  2. 行编辑命令:dp

    d 命令用来删除一行或多行文本,它的语法如下:

    d

    例如,下面的命令将删除文件中所有包含 "foo" 的行:

    sed '/foo/d' file.txt

    p 命令用来输出一行或多行文本,它的语法如下:

    p

    例如,下面的命令将输出文件中所有包含 "foo" 的行:

    sed -n '/foo/p' file.txt
  3. 插入和追加命令:ia

    i 命令用来在指定行前插入一行或多行文本,它的语法如下:

    i\
    text

    其中,text 是需要插入的文本。

    例如,下面的命令将在文件的第一行前插入一行文本:

    sed '1i\New first line' file.txt

    a 命令用来在指定行后追加一行或多行文本,它的语法如下:

    a\
    text

    例如,下面的命令将在文件的最后一行后追加一行文本:

    sed '$a\New last line' file.txt
  4. 多行命令:{}

    {} 命令可以用来对多行文本进行处理,它的语法如下:

    { command1; command2; ... }

    例如,下面的命令将会删除文件中所有包含 "foo" 和 "bar" 的行:

    sed '{ /foo/d; /bar/d }' file.txt

以上是一些常用的 sed 命令,还有很多其他的命令可以在不同的场景下使用。