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

如何优化提取无右括号后缀的FAILED短语的命令(无需sed管道)

提取指定失败测试短语的命令优化

需求说明

提取包含FAILED且其后无右括号)的短语,同时剔除所有位于Linux x86_64)之前的内容。

输入示例

Chrome Headless 117.0.5938.132 (Linux x86_64): Executed 5 of 270[32m SUCCESS[39m (0 secs / 0.018 secs)
WARN: 'Spec 'zip combines one value of each' has no expectations.'
[1A[2KChrome Headless 117.0.5938.132 (Linux x86_64): Executed 6 of 270[32m SUCCESS[39m (0 secs / 0.021 secs)
[1A[2K[31mChrome Headless 117.0.5938.132 (Linux x86_64) interval should emit every second FAILED[39m
    Expected $[0].frame = 1007 to equal 1000.
    Expected $[1].frame = 2007 to equal 2000.
    Expected $[2].frame = 3007 to equal 3000.
    Expected $[3].frame = 4007 to equal 4000.
    Expected $[4].frame = 5007 to equal 5000.
    Expected $[5].frame = 5007 to equal 5000.
        at <Jasmine>
        at TestScheduler.assertDeepEqual (src/misc/test_scheduler.ts:4:20)
        at filter (node_modules/rxjs/dist/esm/internal/testing/TestScheduler.js:139:22)
        at Array.filter (<anonymous>)
        at TestScheduler.flush (node_modules/rxjs/dist/esm/internal/testing/TestScheduler.js:137:43)
Chrome Headless 117.0.5938.132 (Linux x86_64): Executed 7 of 270[31m (1 FAILED)[39m (0 secs / 0.027 secs)

预期输出

interval should emit every second FAILED

当前实现命令

已实现的可行命令,但依赖管道调用sed:

grep ' FAILED[^)]' in | sed -e 's#.*Linux x86_64)##' -e 's# ##'

优化后的单命令方案

方案1:使用带PCRE模式的grep

直接用grep完成所有处理,无需管道:

grep -Po '(?<=Linux x86_64\))\s*\K.*FAILED[^)]*' in

参数解释:

  • -P:启用Perl兼容正则表达式(PCRE)
  • -o:仅输出匹配到的内容
  • (?<=Linux x86_64\)):正向预查,锁定Linux x86_64)之后的内容
  • \s*:匹配行中可能存在的空格
  • \K:忽略之前匹配的所有内容,只保留后续需要的部分
  • .*FAILED[^)]*:匹配到FAILED且其后无右括号的目标内容

方案2:使用awk(兼容更多系统)

如果系统不支持grep -P,可以用awk实现:

awk '/ FAILED[^)]/{sub(/.*Linux x86_64\)/,""); sub(/^ /,""); print}' in

逻辑解释:

  • / FAILED[^)]/:先筛选出包含FAILED且其后无)的行
  • sub(/.*Linux x86_64\)/,""):删除该行中Linux x86_64)之前的所有内容
  • sub(/^ /,""):移除处理后行首的空格
  • print:输出最终结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:20:25