Описание команды


count

Подсчёт количества раз встречающейся фразы в заданной информации (в текстовом файле) и вывод отчёта.

count=Info||String||Mode, ||countline<>, ||<info>, ||Dialogs

Параметры:

1-й обязательный параметр.
InfoИнформация, в которой производится поиск фраз. Возможны варианты:
  File - полный путь к текстовому файлу.
  cliplist - информация из буфера обмена.
  $GLOBALNAME - информация из глобального массива см. Дополнение №23
2-й обязательный параметр.
StringСтрока для поиска. Может иметь несколько вариантов:
  • Однострочная или многострочная.
  • Строка регулярных выражений.
  • ??Key - ключ из TCIMG.ini из секции [FormatUser], в котором прописано регулярное выражение для поиска.
  • clpget - строка берётся из буфера обмена.
По умолчанию поиск учитывает регистр, чтобы не учитывать в начале строки необходимо прописать (?i)
3-й обязательный параметр.
ModeРежим вывода.
  0 - НЕ отправлять в буфер обмена и НЕ выводить в окне. При использовании команды global информация передается глобальной переменной GLOBALCOUNT см. Дополнение №23.
  1 - отправить количество в буфер обмена
  2 - вывести отчёт во всплывающем окне.
Дополнительные параметры:
countline<>Построчная проверка. Параметр countline<Mode(|Flag)> позволяет построчно проверить вхождение String (строки для поиска) в тексте FileTXT, где:
  Mode - режим проверки:
    0 - любое вхождение в строку.
    1 - вхождение только в начале строки.
    2 - вхождение только в конце строки.
    3 - точное совпадение со строкой.
  Flag [необязательный] режим вывода информации:
    0 - строка номеров строк разделённые запятой (по умолчанию).
    1 - список номеров строк.
    2 - список строк.
<info>Получение различной информации. см. Дополнение №10.
DialogsДиалоги. см. Дополнение №18
  Описание
Различные параметры диалогов.
  [input] - диалог ввода информации в InputBox.
  [richinput] - диалог ввода информации в RichInputBox.
  [combo] - диалог выбора информации в ComboBox.
  [group] - диалог выбора информации в GroupBox.
  [check] - диалог выбора информации в CheckBox.
  [edits] - диалог выбора информации в EditBox.
  [sfold] - выбор каталога.
  [zfold] - выбор каталогов.
  [sopen] - выбор файла для открытия.
  [ssave] - выбор файла для сохранения.
  [sicon] - диалог просмотра и выбора значка.
  [msgbx] - окно сообщения MsgBox.
  [updwn] - диалог выбора числовой информации UpDown.
  [image] - диалог выбора изображения.
  [elect] - диалог выбора файлов и папок.
...и другие диалоги.

Примечания:

Команда имеет возможность передавать другим командам информацию через именные глобальные переменные. см. Дополнение №23

Имя переменнойОписание
GLOBALCOUNTмассив выходных данных (в массив записывается информация прошедшее условие, в зависимости от параметра countline<>)
GLOBALCOUNT1массив выходных данных (в массив записывается информация не прошедшее условие, в зависимости от параметра countline<>)

См. также:

chset, extra, extrf, stext, textt, textx, txtsp, txtss, xlsxf, xlsxt, words

Примеры:
 Как создать кнопку?

alist=PS<"%P"//2//0> slist=$GLOBALALIST||^^button*1*=%%COMMANDER_PATH%%\Totalcmd.exe,1*2*cmd*1*=CD~~''||$$''*2*menu*1*=<info=o73:://>||*1*!!cntr<1|1|1>||*2*!!@CRLF||#A[Buttonbar]@CRLFButtoncount=GLOBALALIST<0>@CRLF||save<%%COMMANDER_PATH%%\Bar\FolderXX.bar|1>||code<1> ;; создать BAR файл с кнопками папок (без рекурсии) активной файловой панели

alist=PS<"%P"//2//0> slist=$GLOBALALIST||^^button*1*=%%COMMANDER_PATH%%\Totalcmd.exe,1*2*cmd*1*=CD~~''||$$''*2*menu*1*=StringLeft(<info=o73:://>,10)||*1*!!cntr<1|1|1>||*2*!!@CRLF||#A[Buttonbar]@CRLFButtoncount=GLOBALALIST<0>@CRLF||save<%%COMMANDER_PATH%%\Bar\FolderXX.bar|1>||code<1> ;; создать BAR файл с кнопками папок (без рекурсии) активной файловой панели (имена папок не более 10 символов)

count=%%COMMANDER_PATH%%\Language\Wcmd_Rus.mnu||'',~~em_||1 ;; записать в буфер обмена количество раз встретившейся фразы (", em_) в Wcmd_Rus.mnu (т.е количество пользовательских команд в меню)

count=%%COMMANDER_PATH%%\Language\Wcmd_Rus.mnu||'',~~em_||2 ;; вывести во всплывающем окне информацию о количество раз встретившейся фразы (", em_) в Wcmd_Rus.mnu

count=%P%N||(?i)clpget||1 ;; записать в буфер обмена количество раз встретившейся фразы из буфера обмена в текстовом файле под курсором (не учитывать регистр при поиске)

count=%P%N||[edits=BOX4]||2 ;; вывести во всплывающем окне информацию о количество раз встретившейся фразы в текстовом файле под курсором (фраза для поиска вводится в диалоге)

count=%P%N||clpget||1 ;; записать в буфер обмена количество раз встретившейся фразы из буфера обмена в текстовом файле под курсором

count=%P%N||clpget||1||countline<0> ;; записать в буфер обмена номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (в любом месте строк)

count=%P%N||clpget||1||countline<1> ;; записать в буфер обмена номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в начале строк)

count=%P%N||clpget||1||countline<2> ;; записать в буфер обмена номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в конце строк)

count=%P%N||clpget||1||countline<3> ;; записать в буфер обмена номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (точное совпадение со строками)

count=%P%N||clpget||2||countline<0> ;; вывести в диалоге номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (в любом месте строк)

count=%P%N||clpget||2||countline<1> ;; вывести в диалоге номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в начале строк)

count=%P%N||clpget||2||countline<2> ;; вывести в диалоге номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в конце строк)

count=%P%N||clpget||2||countline<3> ;; вывести в диалоге номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (точное совпадение со строками)

count=%P%N||привет||1||countline<0> ;; записать в буфер обмена номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (в любом месте строк)

count=%P%N||привет||1||countline<1> ;; записать в буфер обмена номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в начале строк)

count=%P%N||привет||1||countline<2> ;; записать в буфер обмена номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в конце строк)

count=%P%N||привет||1||countline<3> ;; записать в буфер обмена номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (точное совпадение со строками)

count=%P%N||привет||2||countline<0> ;; вывести в диалоге номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (в любом месте строк)

count=%P%N||привет||2||countline<1> ;; вывести в диалоге номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в начале строк)

count=%P%N||привет||2||countline<2> ;; вывести в диалоге номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в конце строк)

count=%P%N||привет||2||countline<3> ;; вывести в диалоге номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (точное совпадение со строками)

exect=$var_n='"%O"' xlist=[tc=AM] sends=<info=t1$GLOBALXLIST//> count=GLOBALXLIST<t>||$var_n||0||countline<0> rends=$GLOBALXLIST??-1||?G|GLOBALCOUNT<1>:-1 winls=$GLOBALRENDS||800x600||GLOBALSENDS<1>||but<2> lbicl=$GLOBALWINLS||"%p$var_n".dll|1||0||progres<> delsm="%p$var_n"||1 exicn=GLOBALLBICL<1>||"%p$var_n"||upd<1> ;; открыть для просмотра и редактирования выделенные папки библиотек значков.

exect=$var_stroka=##[input] slist=%WL xlist=GLOBALSLIST<t>||##path<6> <FOR> 1 <TO> GLOBALSLIST<0> count=GLOBALSLIST<:INDEX:>||$var_stroka||0||countline<0|2> sends=GLOBALCOUNT<t>??-1||formt<0!!(?m)$var_stroka[^\r\n]*>||?T|a,1:-1!!GLOBALXLIST<:INDEX:>~~ asave=GLOBALSENDS||"%pLinesTag.txt"|2|@CRLF|1 <NEXT> renmm="%pLinesTag.txt"||LinesTag||$$_$var_stroka||upd<1> ;; в выделенных файлах найти строки с меткой введенной в диалоговом окне, удалить в этих строках всё, по метку, добавить имя файла в начало строк и сохранить в файл LinesTag_(metka).txt в активной панели

global count=%P%N||(?i)Алексей|Сергей||0||countline<0> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретились слова "Алексей" или "Сергей" (без учёта регистра) в содержимом текстовом файле под курсором (в любом месте строк)

global count=%P%N||([\r\n]+cmd\d+=-2[\r\n]+)||0 <IF> GLOBALCOUNT<1> > 0 <THEN> textt=%P%N||formt<bar3> <ELSE> textt=%P%N||formt<bar3,bar1,bar2> <ENDIF> ;; заменять по кругу в BAR файле под курсором разделители <--> переносы строки

global count=%P%N||??U23||0 GLOBALCOUNT<a> ;; получить количество строк начинающихся с латинских букв

global count=%P%N||clpget||0||countline<0|1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк (каждую в новую ячейку) в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (в любом месте строк)

global count=%P%N||clpget||0||countline<0|2> GLOBALCOUNT<a> ;; передать в глобальную переменную строки (каждую в новую ячейку) в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (в любом месте строк)

global count=%P%N||clpget||0||countline<0> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (в любом месте строк)

global count=%P%N||clpget||0||countline<1|1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк (каждую в новую ячейку) в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в начале строк)

global count=%P%N||clpget||0||countline<1|2> GLOBALCOUNT<a> ;; передать в глобальную переменную строки (каждую в новую ячейку) в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в начале строк)

global count=%P%N||clpget||0||countline<1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в начале строк)

global count=%P%N||clpget||0||countline<2|1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк (каждую в новую ячейку) в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в конце строк)

global count=%P%N||clpget||0||countline<2|2> GLOBALCOUNT<a> ;; передать в глобальную переменную строки (каждую в новую ячейку) в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в конце строк)

global count=%P%N||clpget||0||countline<2> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (только в конце строк)

global count=%P%N||clpget||0||countline<3|1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк (каждую в новую ячейку) в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (точное совпадение со строками)

global count=%P%N||clpget||0||countline<3|2> GLOBALCOUNT<a> ;; передать в глобальную переменную строки (каждую в новую ячейку) в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (точное совпадение со строками)

global count=%P%N||clpget||0||countline<3> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретилась фраза (из буфера обмена) в содержимом текстовом файле под курсором (точное совпадение со строками)

global count=%P%N||Алексей|Сергей||0||countline<0> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретились слова "Алексей" или "Сергей" в содержимом текстовом файле под курсором (в любом месте строк)

global count=%P%N||привет||0||countline<0|1> GLOBALCOUNT<a> GLOBALCOUNT1<a> ;; передать в глобальную переменную GLOBALCOUNT список строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (в любом месте строк), в GLOBALCOUNT1 записать список строк, в которых фраза не встретилась

global count=%P%N||привет||0||countline<0|1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк (каждую в новую ячейку) в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (в любом месте строк)

global count=%P%N||привет||0||countline<0|2> GLOBALCOUNT<a> ;; передать в глобальную переменную строки (каждую в новую ячейку) в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (в любом месте строк)

global count=%P%N||привет||0||countline<0> GLOBALCOUNT<a> GLOBALCOUNT1<a> ;; передать в глобальную переменную GLOBALCOUNT номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (в любом месте строк), в GLOBALCOUNT1 записать номера строк, в которых фраза не встретилась

global count=%P%N||привет||0||countline<0> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (в любом месте строк)

global count=%P%N||привет||0||countline<1|1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк (каждую в новую ячейку) в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в начале строк)

global count=%P%N||привет||0||countline<1|2> GLOBALCOUNT<a> ;; передать в глобальную переменную строки (каждую в новую ячейку) в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в начале строк)

global count=%P%N||привет||0||countline<1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в начале строк)

global count=%P%N||привет||0||countline<2|1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк (каждую в новую ячейку) в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в конце строк)

global count=%P%N||привет||0||countline<2|2> GLOBALCOUNT<a> ;; передать в глобальную переменную строки (каждую в новую ячейку) в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в конце строк)

global count=%P%N||привет||0||countline<2> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (только в конце строк)

global count=%P%N||привет||0||countline<3|1> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк (каждую в новую ячейку) в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (точное совпадение со строками)

global count=%P%N||привет||0||countline<3|2> GLOBALCOUNT<a> ;; передать в глобальную переменную строки (каждую в новую ячейку) в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (точное совпадение со строками)

global count=%P%N||привет||0||countline<3> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретилась фраза "привет" в содержимом текстовом файле под курсором (точное совпадение со строками)

global count=cliplist||(?i)Алексей|Сергей||0||countline<0> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретились слова "Алексей" или "Сергей" (без учёта регистра) в содержимом буфера обмена (в любом месте строк)

global count=cliplist||Алексей|Сергей||0||countline<0> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретились слова "Алексей" или "Сергей" в содержимом буфера обмена (в любом месте строк)

sends=-1??-1 count=$GLOBALSENDS||(?i)Алексей|Сергей||0||countline<0> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретились слова "Алексей" или "Сергей" (без учёта регистра) в содержимом буфера обмена (в любом месте строк)

sends=-1??-1 count=$GLOBALSENDS||Алексей|Сергей||0||countline<0> GLOBALCOUNT<a> ;; передать в глобальную переменную номера строк в которых встретились слова "Алексей" или "Сергей" в содержимом буфера обмена (в любом месте строк)

sends=C:\Repl.txt??-1 slist=PS<"%p"//1//0//*.ini> <FOR> 1 <TO> GLOBALSLIST<0> count=GLOBALSLIST<:INDEX:>||prov=||0||countline<1> textt=GLOBALSLIST<:INDEX:>||?T|e,GLOBALCOUNT<1>!!##GLOBALSENDS<1> <NEXT> ;; в активной панели в файлах *.ini заменить строки начинающиеся с "prov=" на строку из файла C:\Repl.txt

slist=%WL xlist=GLOBALSLIST<t>||##path<6> <FOR> 1 <TO> GLOBALSLIST<0> count=GLOBALSLIST<:INDEX:>||clpget||0||countline<0|2> sends=GLOBALCOUNT<t>??-1||formt<0!!(?m)clpget[^\r\n]*>||?T|a,1:-1!!GLOBALXLIST<:INDEX:>~~ asave=GLOBALSENDS||"%pLinesTag"|2|@CRLF|1 <NEXT> ;; в выделенных файлах найти строки с меткой из БО, удалить в этих строках всё, по метку, добавить имя файла в начало строк и сохранить в файл LinesTag в активной панели


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru