Просьба о помощи по ускорению пакетной программы для 17000 файлов TXT

У меня было отсканировано более 17000 страниц (для архива локальной истории), которые я распаковал с помощью Tesseract в отдельные файлы TXT. Я хочу иметь возможность искать / находить каждую страницу, содержащую поисковое слово, состоящее из более чем трех строчных букв. Итак, для каждого файла TXT мне нужно:

  • Удалите весь мусор из текста OCR, т.е. не буквенно-цифровые символы:
    jrepl "[^a-zA-Z0-9s]" "" /x /f %%G /O -

  • Удалите слова из 1, 2 и 3 букв: jrepl "bw{1,3}b" "" /x /f %%G /O -

  • Измените все символы на нижний регистр: jrepl "(w)" "$1.toLowerCase()" /i /j /x /f %%G /O -

  • Чтобы отсортировать оставшиеся слова, они должны быть на отдельных новых строках: jrepl "s" "n" /x /f %%G /O -

  • Наконец, отсортируйте все уникальные слова в алфавитном порядке и создайте измененный файл TXT: sort /UNIQUE %%G /O %%G

У меня есть командный файл, который делает это с использованием JREPL, но он очень медленный. Он работает уже более 100 ЧАСОВ, и я даже не на полпути. Есть предложения по ускорению обработки? Я использую Windows 10.

Это командный файл, который я запускаю:

Setlocal EnableDelayedExpansion
for %%G in (*.txt) do (
set old=%%G
echo !old!
@echo on

rem remove non-alphanumeric
call jrepl "[^a-zA-Z0-9s]" "" /x /f %%G /O -

rem remove 1, 2 and 3 letter words
call jrepl "bw{1,3}b" "" /x /f %%G /O -

rem all to lowercase
call jrepl "(w)" "$1.toLowerCase()" /i /j /x /f %%G /O -

rem replace spaces with new lines
call jrepl "s" "n" /x /f %%G /O -

rem reduce to unique words
sort /UNIQUE %%G /O %%G

)
pause

0

Добавить комментарий

Ваш адрес email не будет опубликован.