使用vimdiff查找特定列中的差异

Tom*_*Tom 4 vim diff vimdiff

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

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

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

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

Nik*_*vda 5

比较特定领域是否合适?

vimdiff <(awk -F',' '{print $3}' a.csv) <(awk -F',' '{print $3}' b.csv)
Run Code Online (Sandbox Code Playgroud)

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

vimdiff <(awk -F',' '{print $2","$3}' a.csv) <(awk -F',' '{print $2","$3}' b.csv)
Run Code Online (Sandbox Code Playgroud)