banner
约 600 字
2 分钟

grep与sed的临时编辑流

摘要

简单文件编辑流

sed 命令含义说明

命令

全称

含义

s/old/new/

substitute

替换匹配内容

d

delete

删除该行

a

append

在该行之后插入新行

i

insert

在该行之前插入新行

^

行首锚点

匹配行的开头位置

#

注释符号本身(这里只是被插入/删除的字符)


定位(每次操作前)

bash
grep -n -C 8 '关键词' file

找到行号,看到上下文,确认位置无误。

四种操作详解

1. 替换 s

bash
sed -i '12s/旧/新/' file

s/旧/新/:在第12行,把"旧"替换成"新"

2. 注释 = 在行首插入#,本质还是替换

bash
sed -i '12s/^/#/' file

s/^/#/:把"行首(空字符位置)"替换成"#",效果就是行首多了个#

取消注释 = 删除行首的#:

bash
sed -i '12s/^#//' file

s/^#//:把"行首的#"替换成"空",即删掉这个#
(注意^#是匹配行首紧跟着的#号,替换目标为空,等于删除它)

3. 删除 d

bash
sed -i '12d' file

d:删除第12行,这一行整个消失

4. 新增 a / i

bash
sed -i '12a新增内容' file   # append:第12行下方新增一行
sed -i '12i新增内容' file   # insert:第12行上方新增一行

记忆:a在字母顺序上在i后面 → a对应"后面",i对应"前面"

END

相关文章

暂无相关文章