You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用sed命令选择无规律指定行并完成内容修改?

sed离散指定行批量操作简化方案

针对无规律离散行的批量操作,有以下几种更简洁的实现方式:

方案1:整行替换最简写法

如果需求是直接替换选中行的全部内容,可以用c命令直接改写行内容,比正则替换更高效:

seq 10 | sed '1c11;3c11;7c11'

方案2:通用分支写法(支持任意行内操作)

如果需要对选中行执行替换、追加、删除等任意操作,可用b分支命令跳过非目标行,仅对目标行执行后续逻辑:

seq 10 | sed '1!3!7!b; s/.*/11/'

逻辑说明:

  • 1!、3!、7!分别表示「不是第1行」「不是第3行」「不是第7行」
  • 三个条件同时满足时触发b命令,直接结束当前行的处理,跳过后续操作
  • 只有1、3、7三行不会触发跳过逻辑,执行后续的替换命令

方案3:可读性更高的分组写法(适合目标行较多的场景)

如果需要处理的离散行数量多,可将目标行地址与操作绑定分组,后续修改操作逻辑时只需改一次:

seq 10 | sed '
1{
    s/.*/11/
}
3{
    s/.*/11/
}
7{
    s/.*/11/
}
'

内容的提问来源于stack exchange,提问作者sirenfrappe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 12:27:02