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

如何从Autosys JIL文件中提取以admin-*开头的特定作业?

嘿,我来帮你搞定从大型Autosys JIL文件里提取admin-*开头作业的需求!针对这种包含数千条作业的大文件,用命令行工具是最高效的,给你几个亲测靠谱的方案:

方法1:用gawk精准提取(首推)

gawk非常适合处理这种按块组织的文本,能精准识别每个作业块并筛选目标作业。运行下面的命令即可:

gawk '/^insert_job:/ {
    current_job = $2
    # 检查作业名是否以admin-开头
    match(current_job, /^admin-.*/)
    print_block = (RLENGTH > 0) ? 1 : 0
}
# 如果标记为要打印,就输出当前行
print_block { print }' your_jil_file.jil > extracted_admin_jobs.jil

逻辑说明:

  • 当遇到insert_job:开头的行,提取第二个字段(作业名)
  • 判断作业名是否匹配admin-*模式,匹配则开启「打印模式」
  • 后续所有行直到下一个insert_job:都会被输出,完美捕获整个作业的配置
方法2:用sed快速筛选

如果你更熟悉sed,可以用范围匹配的方式提取作业块:

# 基础版(注意:如果最后一个作业是admin-开头,可能会截断)
sed -n '/^insert_job: admin-/,/^insert_job:/{/^insert_job:/{p;n};p}' your_jil_file.jil > extracted_admin_jobs.jil

# 优化版(处理文件末尾的admin作业)
sed -n '/^insert_job: admin-/,/^\(insert_job:\|$\)/{/^\(insert_job:\|$\)/{p};p}' your_jil_file.jil > extracted_admin_jobs.jil

逻辑说明:

  • 匹配从insert_job: admin-开始,到下一个insert_job:或者文件结束的所有内容
  • 优化版额外处理了文件末尾的作业,避免截断
方法3:Python脚本(适合自定义扩展)

如果需要后续对提取的作业做更多自定义处理(比如修改配置、批量导出),用Python脚本更灵活:

output_file = open('extracted_admin_jobs.jil', 'w')
current_job_block = []
inside_admin_job = False

with open('your_jil_file.jil', 'r') as jil_file:
    for line in jil_file:
        stripped_line = line.strip()
        # 遇到新作业的开头
        if stripped_line.startswith('insert_job:'):
            # 先把之前的admin作业块写入文件
            if inside_admin_job:
                output_file.writelines(current_job_block)
                output_file.write('\n')  # 用空行分隔不同作业
            # 检查当前作业名是否符合要求
            job_name = stripped_line.split()[1]
            inside_admin_job = job_name.startswith('admin-')
            current_job_block = [line]
        else:
            # 如果当前在admin作业块内,就收集行
            if inside_admin_job:
                current_job_block.append(line)
    # 处理文件最后一个admin作业块
    if inside_admin_job:
        output_file.writelines(current_job_block)

output_file.close()

小提示:

  • 先拿文件的一小部分测试(比如head -1000 your_jil_file.jil | [命令]),确认筛选结果符合预期再处理完整文件
  • 命令行工具(gawk/sed)处理大文件的速度比Python快很多,优先选择

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:49:17