сравните 2 массива, например. CSV


0

Я хотел бы знать, если можно сравнить 2 списка через оболочку. Настройка:

Список " A" с около 6000 записей
Список " B" с около 300 записей

Можно ли обнаружить дубликаты, которые уникальны в " B"? Есть ли способ сохранить их в дополнительный файл?

Спасибо


Я могу сохранить их в обоих форматах. CSV только с 1 столбцом или TXT
Кертис Тимо Шмидт

Ответы:


0

Если (как я предполагаю) вы хотите сравнить два ASCII / текстовых файла, вы можете использовать FC:

FC.exe

Compare the contents of two files or sets of files. Display any lines which do NOT match.

Syntax
      FC /B pathname1 pathname2

      FC [options] pathname1 pathname2

Key
   /B  : Perform a binary comparison.

options
   /C  : Do a case insensitive string comparison

   /A  : Displays only first and last lines for each set of differences.

   /U  : Compare files as UNICODE text files.
   /L  : Compares files as ASCII text. (default)

   /N  : Display line numbers (ASCII only)

   /LBn: Limit the number of lines that will be read, "n" sets a maximum number
         of consecutive differing lines after which the File Comparison will abort (resync failed)
         When FC aborts then "n" number of mismatches will be shown.
         default=100 lines.

  /nnnn  : Specify a number of consecutive lines that must match after a mismatch.
           This can be used to prevent the display of the two files from getting 
           too out of sync

  /T     : Do not expand tabs to spaces.
  /W     : Compress white space (tabs and spaces) for comparison.

To compare sets of files, use wildcards in pathname1 and pathname2 parameters.

Powershell also has an Alias FC for the Format-Custom cmdlet, therefore to run the 'old' FC under powershell you need to explicitly run C:\windows\system32\fc.exe

To identify 2 identical files use this syntax:

   FC file1.txt file2.txt | FIND "FC: no dif" > nul 
   IF ERRORLEVEL 1 goto :s_files_are_different

Я не очень знаком с оболочкой. Какие команды мне нужны, чтобы получить только дублированные строки?
Кертис Тимо Шмидт

Это невозможно с помощью этого простого инструмента, вы можете только сохранить результаты в новом файле. Попробуйте fc / N file1.txt file2.txt> comp.txt
duDE

я поигрался и получаю только ошибки: (переведено) Ресинхронизация не удалась. Файлы слишком разные. Я думаю, что это из-за больших различий линий.
Кертис Тимо Шмидт

Я тоже пробовал, все отлично работает ... Извините за вас! :(
duDE

1
Какая? Вы спросили ответ с Shell, а затем ваш комментарий, что вы не знаете, как использовать Shell ?? Или я что-то пропустил?
Дейв
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.