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

使用awk命令处理job_details文件:生成指定格式的列拼接输出

AWK实现路径拼接解决方案

问题说明

输入文件job_details内容如下(首行为表头):

COL_1,COL_2,Col_3,Col_4,Col_5
1,t_test_job1,task,,2,/process/jobs
2,t_test_job2,mapping,1,/process/jobs
3,t_test_job3,mapping,1,/process/jobs

期望输出:

/process/jobs/test_job1,/process/jobs/test_job2,/process/jobs/test_job3

需求:跳过表头,将Col_5字段与去除前缀"t_"后的COL_2字段拼接,最终用逗号分隔所有结果并输出单行。

AWK解决方案

使用以下AWK命令即可实现需求:

awk -F ',' '
NR > 1 {
    sub(/^t_/, "", $2)
    path = $NF "/" $2
    paths[++n] = path
}
END {
    for (i=1; i<=n; i++) {
        printf "%s%s", paths[i], (i<n ? "," : "")
    }
    print ""
}' job_details

脚本解释

  • -F ',':指定逗号作为字段分隔符,确保AWK正确拆分每行的各个列
  • NR > 1:NR代表当前处理的行号,该条件用于跳过第一行表头内容
  • sub(/^t_/, "", $2):调用AWK的sub函数,匹配$2字段开头的"t_"前缀并替换为空,实现去除前缀的效果
  • path = $NF "/" $2:$NF是AWK内置变量,表示当前行的最后一个字段(即需求中的Col_5),与处理后的COL_2字段拼接成目标路径
  • END代码块:所有行处理完成后执行此部分,遍历存储所有路径的数组,用逗号连接每个元素,最后输出换行符保证输出格式完整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 13:44:56