You need to enable JavaScript to run this app. 如何合并grep与awk命令提取指定行及output、input前序行
优惠活动
大模型
产品
解决方案
定价
更多

如何合并grep与awk命令提取指定行及output、input前序行

单行合并命令实现方案

你之前拆分执行的三个命令存在一个核心问题:分别执行后得到的输出会完全打乱原文件的行先后顺序,无法直接拼接成符合预期的块结构输出。通过单条awk命令完成全量遍历匹配,就能一次性得到目标结果,同时严格保留原文件的行序。

核心匹配规则

脚本遍历文件每一行,按照以下规则判断是否保留内容:

  • 直接保留三类固定特征行:以cell、function、Type开头的行
  • 匹配到output、input行时,将该行紧邻的上一行、当前行一同输出
  • 其余无关行(如示例中的Next state、Test cell、Hold rising、Min_pulse_width)直接跳过不输出

可直接运行的完整命令

awk '
/^cell |^function |^Type / {
    print $0
    last_line = $0
    next
}
/^output$/ {
    print last_line
    print $0
    next
}
/^input$/ {
    print last_line
    print $0
    next
}
{
    last_line = $0
}
' 目标文件路径

效果说明

  • 命令严格按照原文件的行扫描顺序输出匹配内容,不会出现多命令拼接导致的块结构错乱
  • 完全匹配你需要的输出格式:每个cell块下依次保留function行、Type行、端口名+output/input的成对行,剔除所有冗余参数行
  • 端口行的匹配逻辑和你之前单独编写的awk逻辑完全一致,能正确识别output/input前面紧邻的端口名行(如示例中的(CO)、(Z)、(A1)等内容)

注意:匹配规则里的Type是按示例中的大写开头写的,如果你的实际文件中是小写t的type,需要对应调整匹配关键字,避免漏提取。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 13:06:07