4

我有一个非常大的 csv 文件,其中每个字段的宽度相同(因此每一行的宽度相同)。我需要找到特定列中的差异。

当我在 vimdiff 中打开 2 个文件时,大多数行都被标记为差异,因为有一个定期更改的日期时间字段(例如,第 10-15 列)。对于差异,该字段正确地涂成红色。但我感兴趣的是,比如说第 50-60 列,其中整个文件中只有一些差异。

到目前为止,我唯一的解决方案是删除我不关心的文件部分:%s/^.\{49}但这非常滞后,因为文件太大了。

有没有更好的解决方案而无需修改文件?

4

1 回答 1

5

比较特定领域是否合适?

vimdiff <(awk -F',' '{print $3}' a.csv) <(awk -F',' '{print $3}' b.csv)

或者,如果您需要在多个字段之间进行比较:

vimdiff <(awk -F',' '{print $2","$3}' a.csv) <(awk -F',' '{print $2","$3}' b.csv)
于 2013-06-26T09:27:42.250 回答