View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat May 11, 2019 20:12 Post subject: |
|
|
NtX wrote: | Имена папок обрабатываться не хотят. | Дело не в папках, а концевом расположении квадратных скобок. Заменил последний + на * в регулярке. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
NtX
Joined: 25 Jun 2008 Posts: 13
|
(Separately) Posted: Sat May 11, 2019 23:54 Post subject: |
|
|
Да, это срабатывает. Спасибо за разъяснения! |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Aug 04, 2019 09:23 Post subject: |
|
|
wc (для UnxUtils не нужна libintl3.dll) не справляется с UTF-кодировками при подсчёте символов и слов. Для ANSI число символов эквивалентно числу байт, там и думать не надо. Вообще со словами не всё однозначно. Надо перепроверять с разными делителями, цифрами и т. д.
Число строк см. здесь. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Aug 05, 2019 02:45 Post subject: |
|
|
Мне то важнее как раз был подсчёт слов. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Aug 05, 2019 14:06 Post subject: |
|
|
Ну, сформулируй, что не считать словами, т. к. wc всякую ерунду к ним причисляет. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Tue Aug 06, 2019 02:06 Post subject: |
|
|
Проверил ещё, у меня wc работает с utf8, utf16.
Словами не считать пробелы. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Aug 06, 2019 02:19 Post subject: |
|
|
Работает, но некорректно.
Т.е. 11111, 938402, &^%#^*))@!, ////// — это слова? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Tue Aug 06, 2019 02:33 Post subject: |
|
|
Так же, как с ansi. Погрешности вполне приемлемы.
Ещё хотелось бы знать, возможно ли использование в паре с другой программой. Например, кнопка с параметрами:
"%%COMMANDER_PATH%%\Plugins\exe\balabolka\Text extract\balabolka_text" -f "%%#" -o |"%%COMMANDER_PATH%%\Plugins\exe\unxutils\wc.exe" -w -m
Позволяет узнавать количество слов в электронных книгах типа epub, fb2 и т.п, пусть и с задержанием.
Quote: | Т.е. 11111, 938402, &^%#^*))@!, ////// — это слова? |
Ну если возможно, можно, конечно, исключить полностью небуквенные сочетания. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Aug 06, 2019 02:58 Post subject: |
|
|
Quote: | Погрешности вполне приемлемы. | В подсчёте числа символов — не приемлемы. Тем более такие, как в случае с UTF-16.
Балаболка конвертирует epub/fb2 в текстовый файл что ли?
Исключить можно. Но помимо пробела и знаков препинания есть ряд других разделителей. Вот сколько здесь слов, например?:
"Я положил файл в директорию C:\папка!\@папка2\Ad&Remove\354блабла3р5\x\y\z\test и указал * спереди в поле Команда, прописал в регулярном выражении ^(?:name|xxx?|full)\.ext$ но программа не запустилась?" _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Tue Aug 06, 2019 03:13 Post subject: |
|
|
Quote: | Балаболка конвертирует epub/fb2 в текстовый файл что ли? |
Утилита от её создателя. Именно так, их, и ещё много разных других.
21, если не считать словами те случаи, когда между ними нет пробелов. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Sep 02, 2019 23:18 Post subject: |
|
|
А я тут вижу 34 буквенных "слова". Набросал следующее:
Code: | ;::::::::::::::::::::::::::::::: SWLcount.au3 ::::::::::::::::::::::::::::::
; Назначение: получение числа символов, слов, строк для информационных полей
; Положить blb2txt.exe в %COMMANDER_PATH%\Plugins\wdx\WinScriptsAdv\Scripts\
; Программа доступна по следующей ссылке: http://balabolka.site/blb2txt.zip
; Поддержка: azw, azw3, chm, djvu, doc(x), eml, epub, fb2, fb3, htm(l), odp,
; ods, odt, mobi, litmht, pdb, pdf, ppt(x), prc, rtf, tcr, wpd, wri, xls(x),
; а также любых текстовых файлов по списку заданных в options.ini расширений
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#NoTrayIcon
Opt('MustDeclareVars', 1)
Dim $FileName
If FileGetSize($FileName) = 0 Then
$FileName = ObjCreate('Shell.Application').NameSpace(0).ParseName($FileName).ExtendedProperty('LinkTarget')
If Not $FileName Then Exit
If Not FileGetSize($FileName) Then Exit
EndIf
Dim $Ext, $PID, $Text, $Text2, $Content, $Content1, $Content2
$Ext = StringRegExp($FileName, '((?<=\.)[^.]+|)$', 1)[0]
If Not $Ext Then Exit
If StringInStr('|azw|azw3|chm|djvu|doc|docx|eml|epub|fb2|fb3|htm|html|lit|mht|mobi|odp|ods|odt|pdb|pdf|ppt|pptx|prc|rtf|tcr|wpd|wri|xls|xlsx|', '|' & $Ext & '|', 2) Then
$PID = Run('"' & EnvGet('COMMANDER_PATH') & '\Plugins\wdx\WinScriptsAdv\Scripts\blb2txt.exe" -f "' & $FileName & '" -o -rpn -sn -ss','', 0, 2)
While 1
$Text = StdoutRead($PID, 1)
If $Text Then
If $Text = $Text2 Then ExitLoop
EndIf
$Text2 = $Text
WEnd
$Text2 = ''
StdioClose($PID)
Else
Dim $oFile
$oFile = FileOpen($FileName)
$Text = FileRead($oFile)
FileClose($oFile)
EndIf
$Content = StringLen($Text)
$Content1 = UBound(StringRegExp($Text,'\R', 3)) + 1
$Content2 = UBound(StringRegExp($Text,'\p{L}+-?\p{L}*', 3))
$Text = '' |
options.ini wrote: | [Script]
ActiveScripts=...|SymbolsWordsLinesCount
; тут остальное
[SymbolsWordsLinesCount]
Script=SWLCount.au3
content=Символов
content1=Строк
content2=Слов
extensions=azw|azw3|bar|chm|cfg|conf|djvu|doc|docx|eml|epub|fb2|fb3|inf|ini|ion|htm|html|lit|lng|log|lst|me|mht|mobi|odp|ods|odt|pdb|pdf|ppt|pptx|prc|rtf|tcr|text|txt|wpd|wri|xls|xlsx|etc
FoldersPaths=0 | См. корректность значения ключа au3. Вместо etc дописываем свои нужники.
Как и ожидалось, получаем сопутствующие тормоза. В колонки выводить, наверное, не стоит. На больших/mobi будут наблюдаться вылеты балаболки. Лучше — в подсказках. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
dzigloTC
Joined: 08 Jul 2020 Posts: 3
|
(Separately) Posted: Thu Jul 09, 2020 08:00 Post subject: |
|
|
Доброе утро всем участникам.
В отделе «Общие вопросы» я открыл тему, но меня оттуда направили сюда. Поэтому копирую свой вопрос здесь.
Прошу помочь в насущном для меня вопросе.
В ТС возможен поиск текста внутри word-файлов в различной кодировке.
А как можно искать текст в файлах формата djvu? Может есть хотя бы какие-нибудь плагины и т.п.?
Очень нужно. Много djvu-файлов книг и в них нужно часто искать слова и фразы. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jul 09, 2020 08:46 Post subject: |
|
|
dzigloTC
Технически тут поиск возможен по заранее заданным шаблонам (в коде или соседнем списке), а не через диаложное поле поиска. Если подобное устраивает, то в последнем скрипте нужно править только нижние строки с $Content№. Если нет, то тогда нужно внедрять blb2txt в PCREsearch и там что-то придумывать. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
dzigloTC
Joined: 08 Jul 2020 Posts: 3
|
(Separately) Posted: Thu Jul 09, 2020 10:10 Post subject: |
|
|
Flasher wrote: | dzigloTC
Технически тут поиск возможен по заранее заданным шаблонам (в коде или соседнем списке), а не через диаложное поле поиска. Если подобное устраивает, то в последнем скрипте нужно править только нижние строки |
Вы не могли бы подробнее рассказать, как это сделать? Я в плагинах ТС вообще ничего не понимаю. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|