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

Linux下如何对大文件指定列执行字符删除与内容截取操作

实现方案

直接使用awk处理即可,针对100万行级别的CSV文件性能优异,全程仅需一次文件遍历,无额外IO开销。

处理命令

awk 'BEGIN{FS=OFS=","} {
    # 处理第4列
    gsub(/-| |:/,"",$4)
    $4 = substr($4,3)
    # 处理第13列
    gsub(/-| |:/,"",$13)
    $13 = substr($13,3,6)
    print
}' 原始文件.csv > 处理后文件.csv

命令说明

  • BEGIN{FS=OFS=","}:指定输入输出的字段分隔符都为逗号,适配CSV格式
  • gsub(/-| |:/,"",$4):删除第4列中所有横杠、空格、冒号字符
  • substr($4,3):截取第4列从第3位开始的所有内容,等价删除前2个字符
  • substr($13,3,6):截取第13列从第3位开始的6个字符,满足保留后续6位的需求
  • 处理后直接输出重定向到新文件即可,避免修改原始文件出错

性能参考

100万行32列的CSV文件在普通x86服务器上执行时间通常不超过2秒,无需额外优化即可满足需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:33:01