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 に答える