Использование 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)"