sed命令使用i插入信息后怎么保存退出

img


苹果系统联系Linux代码,在学到sed命令中使用i插入信息然后不知道怎么保存退出了,求解惑

在使用 sed 命令时,插入信息可以使用 i 命令实现,其语法为:

sed 'i\内容' 文件名

其中,内容 表示需要插入的文本信息,文件名 表示需要操作的文件名。

当使用 i 命令插入内容时,会进入编辑模式,此时需要完成以下操作:

  1. 输入需要插入的文本内容
  2. 按下 Enter
  3. 输入 .(英文句点)并按下 Enter

这样,就能够完成 sed 命令的输入和保存过程。

具体操作示例:

# 用 sed 命令在 /etc/hosts 文件中,向第一行插入 "127.0.0.1  localhost" 的内容
sudo sed '1i\127.0.0.1  localhost' /etc/hosts

运行命令后,会进入编辑模式,此时需要按以下步骤完成输入和保存过程:

  1. 输入 127.0.0.1 localhost,然后按下 Enter
  2. 输入 .,然后按下 Enter

操作完成后,sed 命令就会自动保存修改,并退出编辑模式。通过 cat 命令查看文件内容,可以发现文本已经成功插入到了第一行。

你现在是在vi的编辑模式下
按下esc建 --> 输入英文冒号":" --> 输入wq --> 敲下回车既可以保存退出

如果使用sed命令直接操作文件,不需要保存,它直接修改了文件
而你放的图跟sed没有一毛钱关系,这是在vim编辑器里按下了i进入insert模式
想退出,先按esc回到底线模式,再输入:wq

我明白你的意思了:
是不是,你正在使用vim编辑一个文件,然后向使用sed的i命令在这个正在编辑的文件的某一行前面添加一行,对吧。

  1. 你现在是vim的insert模式,先esc退出编辑模式
  2. (英文状态下)输入
:%!sed '1 i\我在第一行前面插入了一行'

这样就可以使用sed命令在正在使用vim编辑的文件中进行插入操作了。

关于sed命令,你可以看我的文章:
https://blog.csdn.net/weixin_43764974/article/details/130714417?spm=1001.2014.3001.5502

如果你要保存你现在编辑的文件,按esc,然后输入:

:wq

回车,就可以保存,并退出vim编辑器了

img