Команда Windows 10 fc: сравнение файлов через запятую
У меня есть два файла по 3 ГБ для сравнения и сохранения данных различий в третьем файле.
Ниже приведены примеры данных.
Файл 1: июнь_01_2018.csv
Файл 2: июнь_02_2018.csv
Примечание: я хочу сохранить разницу в третий файл с заголовками столбцов.
Ожидаемый результат: третий файл должен содержать записи из ID
С 11 по 15 с заголовками столбцов.
Моя попытка: fc
команда в командной строке,
>fc June_01_2018.csv June_02_2018.csv > June_Diff.csv
Но получаю неожиданный результат:
1 ответ
Надежды не имеют ничего общего с (реалистичными) ожиданиями.
Заголовок точно такой же, поэтому не может быть разницы.
Кроме того, представление Excel не является CSV-файлом, вы должны опубликовать исходные файлы в виде текста.
Следующий пакетный файл читается в заголовке и отражается в diff.
Вместо fc он использует findstr с опциями
/B compare from line begin
/E compare upto line end
/V output lines **not** present in compared file
/G: get strings from a file
@Echo off
Set "File1=June_01_2018.csv"
Set "File2=June_02_2018.csv"
Set "File3=June_Diff.csv"
Set /P "Header="<"%File1%"
( Echo=%Header%
Findstr.exe /BEV /G:"%File2%" "%File1%"
)>"%File3%"
Вариант с фк
@Echo off
Set "File1=June_01_2018.csv"
Set "File2=June_02_2018.csv"
Set "File3=June_Diff.csv"
Set /P "Header="<"%File1%"
( Echo=%Header%
fc "%File1%" "%File2%"|more +3
)>"%File3%"
Это оставляет только конечную линию.