插入命令(i、a、c)

(1)在第 2 行前插入文本

在第 2 行前插入文本:sed '2i\This is inserted line' file.txt
详细解释
2:地址,第 2 行
i:insert,在指定行前插入
\:续行符,后跟要插入的文本
插入文本在新行
这些 sed 的匹配全是在引号里面的,这叫匹配命令,要持久化修改的话要在匹配命令即引号引起
来的外面加 -i 选项

(2)在第 2 行后追加文本

在第 2 行后追加文本:sed '2a\This is appended line' file.txt
详细解释
a:append,在指定行后追加
sed 是流式的,它是对行进行处理,append是在指定的行后加内容
与 i 相反,a 在行后添加
比如在第2行进行操控,i 是找第一个 \n ,找到后添加内容,a 是找第二个 \n ,找到后在添加内
内部的一个表示换行的换行符,在内存就是容。实际上 i 和 a 都是查找 \n 选项,但是 \n 不输出,它
连续保存的就是看来都是二进制的,如在 file.txt 文件中看到的几行内容在内存中就
文本在新行

(3)替换第 2 行内容

替换第 2 行内容:sed '2c\This replaces line 2' file.txt
详细解释
c:change,替换整行内容
整个第 2 行被替换为指定文本
不是插入或追加

(4)在匹配行前插入

在含有'pattern'的行前插入:sed '/pattern/i\--- INSERTED BEFORE PATTERN ---' file.txt
详细解释
/pattern/:模式地址,匹配包含"pattern"的行
匹配的时候是找每行的第一个匹配项
i:在匹配行前插入
插入分隔线用于标识
posted on 2025-10-22 21:58  lxjshuju  阅读(3)  评论(0)    收藏  举报