shell——sed

1. sed 的工作流程

读取一行,使用 定义的规则 处理,再读下一行。

规则定义格式

/pattern/action

pattern是正则表达式,两个反斜线表示表达式的开始和结尾。
只有缓存行匹配pattern,才使用action对其进行处理。

action包括

p 打印行
d 删除行
s 替换

sed可以指定多个规则,规则间用分号隔开

/pattern/action;/pattern/action

当缓存行被第一个规则匹配,执行完动作后,再尝试匹配第二个规则。

sed的规则可以忽略pattern,表示对所有行 执行动作。

sed 's/a/b/g' file

执行sed的方法,

sed '/pattern/action' file
other_command | sed '/pattern/action'

2. 示例

sed 's/a/b/g;s/c/d/g' ./file
sed -e 's/a/b/g' -e 's/c/d/g' ./file

sed -f ./sed_script ./file

# i 表示忽略大小写
sed 's/a/b/gi' ./file

# 写回到文件
sed -i 's/a/b/gi' ./file

# 删除第11行
sed '11d' ./file

# 删除3到25行
sed '3,25d' ./file

# 删除以#开头的行
sed '/^#/d'

# 删除最后一行
sed '$d' ./file

posted on   开心种树  阅读(129)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示