我有一个非常大的csv文件,其中每个字段的宽度相同(因此每行的宽度相同)。我需要找到特定列中的差异。
当我在vimdiff中打开2个文件时,大多数行被标记为差异,因为有一个定期更改的日期时间字段(例如,第10-15列)。对于差异,此字段的颜色正确为红色。但是我很感兴趣,比如专栏50-60,其中整个文件中只会有一些差异。
到目前为止,我唯一的解决办法是删除我不关心:%s/^.\{49}
的文件部分,但这是非常滞后的,因为文件太大了。
是否有更好的解决方案而无需修改文件?
答案 0 :(得分: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)