我有一个 16GB 的 CSV 文件,它是 ;-分隔的,并且字段总是被引用。我需要快速过滤掉第二个字段为空白的行。
"12345";"987";"..." # keep it
"67890";"";"..." # omit it
如果这对性能很重要,前两个字段只是数字。
我想,那个 awk 可能是最高效的工具,但我似乎无法做到这一点。我试过这个,但它错误地省略了大多数行:
cat huge.csv | awk '/^"\d+";"\d/' > filtered.csv
当然不一定非要 awk;linux 和 OS X 上常见的任何命令行工具都可以。