@Echo offcls@rem@rem "+++++++++++++++++++++++++++++++++++++++++++++++++++++"@rem " Bat-файл 'prc-1.bat' "@rem " "@rem "Обработка текущей строки 'string' запроса из файла "@rem "'stages.txt', которая НЕ содержит логических "@rem "операторов "@rem "+++++++++++++++++++++++++++++++++++++++++++++++++++++"@rem@rem "Вход 1: файл 'string' со строкой из файла "@rem "'stages.txt' "@rem@rem "Вход 2: файл 'currdb' с текущей выборкой из БД "@rem "'radar' журнальных публикаций ЭБ IEEE Xplore "@rem@rem "Выход: обновленный 'текущий' файл БД 'currdb' "@rem @rem =======================================================@rem if exist notfound goto CLEAN@rem type num_stringnircmd wait 1500@rem @rem -------------------------------------------------------@rem "Обрабатываем файл 'string': "@rem "1. множественные пробелы заменяются на одиночные; "@rem "2. удаляются пробелы в начале строки; "@rem "3. удаляются все кавычки; "@rem "4. из строки вида 'parameterization{10}' формируется "@rem "строка 'parameterization;10'. "@rem "Здесь: 'parameterization' - искомый термин, а '10' - "@rem "номер поля БД, в котором этот термин ищется "@rem sed "s/ */ /g" <string >temp\zuc01sed "s/^ *//" <temp\zuc01 >temp\zuc02sed "s/{/;{/g" <temp\zuc02 >temp\zuc03sed "s/[{}()\x22\x93\x94\xAB\xBB]//g;s/$/\r/" <temp\zuc03 >temp\zuc05@rem @rem -------------------------------------------------------@rem "Из файла 'currdb' с текущей выборкой из БД, "@rem "(в которой 14 полей) извлекается 1-ое поле "@rem "(порядковый номер) и N-ое (в данном примере - 10-е) "@rem "поле базы данных "@rem cut -f2 -d; <temp\zuc05 >temp\zuc06tr -d " [:alpha:][:punct:]" <temp\zuc06 >temp\zuc07sed ":a;$!N;s/\n/,/;ta;" <temp\zuc07 >temp\zuc08sed "s/^\(.*\)$/cut -f1,\1 <currdb >temp\\zuc09/" <temp\zuc08 >ztmp4.batCALL ztmp4.bat@rem @rem -------------------------------------------------------@rem "Из сформированного файла 'temp\zuc09' извлекаются "@rem "записи (строки), содержащие искомый одиночный термин "@rem "(в данном примере - это слово 'parameterization' "@rem cut -f1 -d; <temp\zuc05 >temp\zuc10sed "s/^\(.*\)$/grep -i \x22\1\x22 <temp\\zuc09 >temp\\zuc11\r/" <temp\zuc10 >ztmp5.batCALL ztmp5.bat@rem @rem -------------------------------------------------------@rem "Обновляем текущий файл 'currdb' "@rem cut -f1 <temp\zuc11 >temp\zuc12sed "s/$/\t\r/" <temp\zuc12 >temp\zuc13fgrep -i -f temp\zuc13 <currdb >temp\zuc14copy /Y temp\zuc14 currdb >null@rem @rem -------------------------------------------------------@rem "Выводим число найденных записей "@rem sed -n "$=" <currdb >temp\zuc15set Size=0set Files=temp\zuc15for %%F in (%Files%) do if /i %%~zF EQU %Size% del /f %%Fif exist temp\zuc15 goto METKA1echo ЏгЎ«ЁЄ жЁ© Ґ ©¤Ґ® >temp\zuc17echo >notfoundgoto METKA2:METKA1sed "s/^\(.*\)$/Ќ ©¤Ґ® ЇгЎ«ЁЄ жЁ©: \1\r/" <temp\zuc15 >temp\zuc16crecode -wd temp\zuc16 temp\zuc17cls:METKA2clstype num_stringtype temp\zuc17if not exist notfound echo Џа®¬Ґ¦гв®зл© аҐ§г«мв в § ЇЁб ў Ї ЇЄг 'stgs'nircmd wait 2000@rem @rem -------------------------------------------------------:CLEAN@rem "Удаление временных файлов "@rem if exist num_string del /Q num_stringif exist null del /Q nullif exist temp\zuc* del /Q temp\zuc*if exist ztmp4.bat del /Q ztmp4.batif exist ztmp5.bat del /Q ztmp5.bat@rem @rem -------------------------------------------------------@rem "Выход из bat-файла ":END