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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?