sed 插入命令 i

sed 提供了单字母命令 i 用来完成 插入 操作。

iinsert 的首字母,后者是 插入 的意思。

我们这里说的插入 并不是在某行中间插入几个字符,而是在 符合条件的行之前面插入新行

这个 插入 操作和我们之前学习的 追加命令 a 功能一样。

唯一的不同是 插入操作是在指定行之前插入一个新行,追加操作是在指定的行后面追加新行

单字母命令 i 的语法格式如下

[address] i Insert text

苹果电脑自带的 sed 的只支持以下语法

[address]i\ 
Insert text
  • address行寻址,用于指定插入的位置。

  • i 是插入命令

  • Insert text 是要插入的新行

  • 苹果电脑自带的 sed 的 i 后面跟着一个 正斜杠(\),然后是一个 回车,然后才是要插入的数据

范例

范例开始前,我们先准备要用的数据,先在当前目录下新建一个文件 data.txt 内容如下

1) 小明,23岁,北京大学
2) 小红,22岁,清华大学
3) 小李,25岁,斯坦福大学
4) 小王,22岁,清华大学
5) 小刚,27岁,北京大学
6) 小英,21岁,哈佛大学

下面的命令,我们在第 4 行之前插入一条新数据 7) 小陈,22岁,哈工大

[www.twle.cn]$ sed '4 i 7) 小陈,22岁,哈工大' data.txt

运行结果如下

1) 小明,23岁,北京大学
2) 小红,22岁,清华大学
3) 小李,25岁,斯坦福大学
7) 小陈,22岁,哈工大
4) 小王,22岁,清华大学
5) 小刚,27岁,北京大学
6) 小英,21岁,哈佛大

在文件开头插入新行

因为插入操作是在指定的行之前。如果我们将行指定为 1 ,那么就会在文件开头插入新行。

范例

下面的命令,我们在文件开头插入一条新数据 7) 小陈,22岁,哈工大

[www.twle.cn]$ sed '1 i 7) 小陈,22岁,哈工大' data.txt

运行结果如下

7) 小陈,22岁,哈工大
1) 小明,23岁,北京大学
2) 小红,22岁,清华大学
3) 小李,25岁,斯坦福大学
4) 小王,22岁,清华大学
5) 小刚,27岁,北京大学
6) 小英,21岁,哈佛大学

插入多行

sed 的 插入命令 允许插入多行。多行的之间的分隔符为 反斜杠(\。除了第一行外,其它行必须在独立的一行。

sed 插入多行的语法格式为

[address] i 
Insert text\
Insert text2\
Insert text3

范例

下面的范例,我们在最后一行前插入多行

[www.twle.cn]$ sed '$ i \
7) 小陈,22岁,哈工大\
7) 小陈,22岁,哈工大\
7) 小陈,22岁,哈工大
' data.txt

运行结果如下

1) 小明,23岁,北京大学
2) 小红,22岁,清华大学
3) 小李,25岁,斯坦福大学
4) 小王,22岁,清华大学
5) 小刚,27岁,北京大学
7) 小陈,22岁,哈工大
7) 小陈,22岁,哈工大
7) 小陈,22岁,哈工大
6) 小英,21岁,哈佛大学
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.