如何用Linux Shell移除CSV文件指定列中的逗号
处理CSV文件第3列的逗号问题
问题场景
CSV文件共5列,第3列的整数值包含逗号(例如"1,432"),需要移除该列内的逗号,转换为"1432",同时保留其他列内容不变。
解决方案
使用awk命令精准定位第3列并替换其中的逗号,命令如下:
awk 'BEGIN{FS=OFS=","} {gsub(/,/,"",$3); print}' input.csv > output.csv
命令解释
BEGIN{FS=OFS=","}:预先设置输入(FS)和输出(OFS)的字段分隔符为逗号,保证处理后CSV的列结构不被破坏。gsub(/,/,"",$3):对第3个字段执行全局替换,把字段内所有逗号替换为空字符串。print:输出处理后的每一行内容,重定向到output.csv保存结果。
示例验证
输入CSV内容:
col1,col2,col3,col4,col5 Abcd,defg,"1,432",hjik,khuj
执行命令后输出CSV内容:
col1,col2,col3,col4,col5 Abcd,defg,"1432",hjik,khuj
内容的提问来源于stack exchange,提问作者Chenna Reddy Gooli
相关产品推荐
相关产品推荐

