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

仅使用sed提取字符串中间段:抽取DECK后无前后空白的大写字母内容

sed提取指定内容方案

正确命令

sed -n 's/.*DECK[[:blank:]]*\([A-Z]*\)[[:blank:]]*$/\1/p' 目标文件名

命令说明

  • -n 关闭sed默认的全量打印逻辑,仅打印经过替换匹配的行,过滤掉不含DECK的无关行
  • 正则逻辑:
    • 匹配行首到DECK及之后的所有空白字符:.*DECK[[:blank:]]*
    • 捕获DECK后连续的大写字母序列:\([A-Z]*\)(sed默认基础正则模式下,捕获组括号需要加反斜杠转义)
    • 匹配捕获内容之后到行尾的所有空白字符:[[:blank:]]*$,确保输出内容无前后空白
  • 末尾p指令:将替换成功的行打印输出

输出结果

与预期完全一致:

AAA
ABC
ABA
ABD

原有命令问题

你之前的命令主要存在三个问题:

  1. 未加-n参数,所有行都会原样输出,无法过滤无关行
  2. 基础正则模式下捕获组括号未转义,捕获逻辑不生效
  3. 正则匹配规则错误,无法正确截取目标内容、也未处理目标内容后的剩余行内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:39:00