小编rap*_*hui的帖子

根据列值从 csv 文件中删除行

我有一个包含 1200 万行的 csv 文件,格式如下:

mcu_i,INIT,200,iFlash,  11593925,     88347,,0x00092684,r,0x4606b570,   ok,,         32,single,op-c,0,,         0,         0,         0,
mcu_i,INIT,200,iFlash,  11593931,     88348,,0x00092678,r,0x28003801,   ok,,         32,single,op-c,0,,         0,         0,         0,
Run Code Online (Sandbox Code Playgroud)

我想使用以下逻辑根据第六列的值删除行: if (value >= X AND value <= Y ) => 删除行

我使用 gawk 找到了一个解决方案:

gawk -i inplace -F ',' -v s="$start_marker" -v e="$end_marker" '!($6 <= e && $6 >= s)' myfile.csv
Run Code Online (Sandbox Code Playgroud)

但这需要太长时间,我想要另一个性能更好的解决方案。

谢谢

awk text-processing csv

4
推荐指数
2
解决办法
549
查看次数

标签 统计

awk ×1

csv ×1

text-processing ×1