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

如何仅对以| ![](开头的行应用指定sed表达式

你可以直接在原有sed替换规则前增加行匹配规则,只有匹配到以| ![](开头的行时才会执行替换操作,其余普通文本行将原样输出。

最终可用命令

sed '/^| !\[\(/ s#\([^[]*.\)\([^\.]*.\([^\.]*\)[^)]*.\)#\1\3\2#g' 目标文件名

规则说明

  • 开头的/^| !\[\(/是行过滤规则:
    • ^ 匹配行首位置
    • | 匹配行首的竖线加空格
    • !\[ 匹配![序列,这里对[做转义是为了避免被sed识别为正则字符集的起始标记
    • ( 匹配后续的左括号,完成对| ![](开头行的精准匹配
  • 后续部分为你原有可正常工作的替换逻辑,仅对符合过滤条件的行生效

如果需要直接修改原文件,GNU sed(常见于Linux发行版)可添加-i参数:

sed -i '/^| !\[\(/ s#\([^[]*.\)\([^\.]*.\([^\.]*\)[^)]*.\)#\1\3\2#g' 目标文件名

macOS自带的sed需补充空后缀参数:

sed -i '' '/^| !\[\(/ s#\([^[]*.\)\([^\.]*.\([^\.]*\)[^)]*.\)#\1\3\2#g' 目标文件名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:57:06