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

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

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

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

например:

NEEDLE - это файл, содержащий числа {3,4,5,6} в каждой строке

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

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

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

1 ответ

Решение
findstr /v /x /g:NEEDLE HAYSTACK

должен вернуть желаемый результат - но вы указали, чтобы вернуть 3 который находится в ИГЛУ.

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

Другие вопросы по тегам