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

например:

Файл 1 будет содержать несколько строк поиска.

find this
find that
find me
find anything

файл 2 будет .sql файл (файл, который мы ищем)

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

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

2 ответа2

0

упс забыл добавить код.

type nul > results.txt
call :ReadFile < searchtext.txt
goto :EOF

:ReadFile
set /P line=
echo %line%
if "%line%" neq "end" goto FindText
goto EOF

:FindText
findstr /c "%line%" file.txt
if %errorlevel% equ 1 goto notfound
echo %line% - found >>results.txt
goto ReadFile
:notfound
echo %line% - notfound >>results.txt
goto readFile

:EOF
exit /B

Объяснение:

results.txt содержит результаты поиска searchtext.txt содержит условия поиска и оканчивается словом end (изменить на подходящий) file.txt - это файл, который вы собираетесь искать

Этот код выводит в файл results.txt искомый текст и найденный результат или не найден.

Надеюсь, это поможет кому-то, кто ищет помощь в этой области.

0

Похоже , что вы хотите что - то вроде for цикла.

Что-то вроде этого:

for STRING in `cat file1`
do
grep $STRING file2 >> file3
done

Что он делает, так это печатает содержимое файла file1. Для каждой строки в этом файле она ищет в file2 эту строку и выводит результаты в file3.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .