You need to enable JavaScript to run this app. Bash基于CSV首列时间信息新增小时、小时分钟衍生列的实现方法
优惠活动
大模型
产品
解决方案
定价
更多

Bash基于CSV首列时间信息新增小时、小时分钟衍生列的实现方法

可直接落地的实现方案

针对带双引号包裹时间列的input.csv,使用系统预装的awk即可完成处理,不需要额外安装依赖,执行后生成的结果完全匹配你的输出要求:

# 直接复制到bash终端执行即可
awk -F',' '{ts=substr($1,2,length($1)-2);split(ts,a," ");split(a[2],b,":");print $0","b[1]","b[1]b[2]}' input.csv > output.csv

设计说明

  • 全程不会修改原始的input.csv,所有处理结果写入同目录下的新文件output.csv,避免新手操作失误损坏源数据
  • 处理逻辑先精准提取第一列内部的有效时间文本,去掉两侧的双引号,从根源避免将时间字符串内的冒号误判为列分隔符的问题
  • 提取小时、分钟值时保留原有的两位数字格式,不会出现前导零丢失的情况,比如09点15分的时间会正确输出09、0915,不会变成9、915

常见异常原因

之前直接用sed、awk处理结果不符合预期,核心原因是未处理第一列的双引号边界:直接对全行做正则匹配时,很容易把时间字段内部的分隔符误判为列边界,导致字段错位、提取的时间值错误。上面的逻辑先锁定第一列的有效时间内容再做拆分提取,完全规避这类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.07 06:15:03