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

如何使用awk修改CSV文件中指定行列位置的内容?

用awk修改CSV特定行列的数据

要修改CSV中指定行列的内容,核心是利用awk的行号(NR)和字段($n)定位,配合字段分隔符保证CSV格式不变。

针对你的需求:将示例CSV中第3行(表头为第1行)的第3列(即NRG所在行的6767)修改为0000,可以用以下命令:

awk -F',' -v OFS=',' 'NR==3 { $3="0000" } 1' input.csv

命令解释

  • -F',':指定输入的字段分隔符为逗号,适配CSV格式
  • -v OFS=',':设置输出字段分隔符为逗号,确保修改后的输出仍是标准CSV
  • NR==3 { $3="0000" }:当处理到第3行时,将第3列的值替换为0000(如果你的“第2行”是指表头后的第2个数据行,对应awk的NR==3;如果是把表头排除在外计数,直接调整NR的数值即可)
  • 1:awk中1代表逻辑真,会触发默认操作——打印当前行,这样所有行都会被输出(包括修改后的目标行)

直接修改原文件的方式

如果需要直接修改原文件而非输出到终端,分两种情况:

  1. GNU awk(大多数Linux系统默认):支持原地编辑
awk -i inplace -F',' -v OFS=',' 'NR==3 { $3="0000" } 1' input.csv
  1. 其他awk版本:通过临时文件中转
awk -F',' -v OFS=',' 'NR==3 { $3="0000" } 1' input.csv > temp.csv && mv temp.csv input.csv

灵活调整

如果要修改其他行列,只需替换NR==3中的行号,以及$3中的列号和目标值即可。比如要修改第2行(表头后第1个数据行)的第2列,命令改为:

awk -F',' -v OFS=',' 'NR==2 { $2="25" } 1' input.csv

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:43:09