从CSV文件中删除特定列中的小数部分?

iqxoj9l9  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(93)

我有CSV文件如下

MK0280,GCA_000007185.1,AAM01497.1,430,1 430,430,COG0001,COG0001,0,570.0,1.0e-200,432,3-431 
MA_0581,GCA_000007345.1,AAM04025.1,424,1 424,424,COG0001,COG0001,0,574.0,1.0e-200,432,3-426

我想要的输出如下

MK0280,GCA_000007185.1,AAM01497,430,1 430,430,COG0001,COG0001,0,570.0,1.0e-200,432,3-431 
MA_0581,GCA_000007345.1,AAM04025,424,1 424,424,COG0001,COG0001,0,574.0,1.0e-200,432,3-426

希望从第3列中删除小数部分。有sed/awk或其他建议吗?

wfveoks0

wfveoks01#

这是应该做到这一点的脚本。由于我们使用CSV,最好的方法是使用FPAT字段分隔符,并在数据元素中嵌入逗号;在这种情况下,这些数据元素应该由一对双引号包围。

awk -v FPAT='[^,]*|"[^"]*"' -v OFS=, '{
    split($3,temp,"[.]")
    $3=temp[1]
    print}' sample.csv

相关问题