Использование findstr для поиска несовпадающих записей в двух текстовых файлах

Я библиотекарь и у меня проблема.

Мне часто дают списки кассет, которые нужно взять с полок и разослать. Мне нужно сравнить список, который мне дан, со списком ранее извлеченных лент и заполнить список лент в первом списке, которые еще не вышли.

Я знаю базовую командную строку и знаю, что findstr, скорее всего, является командой, которую следует использовать, однако даже при очень простом тестировании, чтобы попытаться отладить то, что у меня есть, она не дает никаких результатов, даже когда я создаю сценарии, в которых должны быть результаты. .

Например:

NEEDLE — это файл, содержащий числа {3,4,5,6}, каждое из которых находится в отдельной строке.

HAYSTACK — это файл, содержащий числа {1,2,3,4,5,6,7,8,9} также в отдельных строках.

после запуска findstr я ожидаю получить текстовый файл, содержащий числа 1,2,7,8,9

Я знаю, что игла (файл, содержащий строки поиска) идет перед стогом сена (файл, который просматривается), но я не уверен, как лучше всего это сделать.


person Joshua Marrero    schedule 30.12.2014    source источник
comment
У вас есть какой-нибудь код, который вы пробовали до сих пор, которым вы можете поделиться в своем вопросе?   -  person Chrismas007    schedule 30.12.2014


Ответы (1)


findstr /v /x /g:NEEDLE HAYSTACK

должен вернуть желаемый результат, но вы указали вернуть 3, который находится в NEEDLE.

Команда означает «найти полные строки (/x), которые НЕ соответствуют (/V) строкам из иглы (/g:NEEDLE)».

person Magoo    schedule 30.12.2014
comment
3 была опечатка, но большое спасибо! Вы сэкономили сотни часов ручной проверки. - person Joshua Marrero; 30.12.2014