Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поиск слов по маске

Ответить
Настройки темы
CMD/BAT - [решено] Поиск слов по маске

Новый участник


Сообщения: 44
Благодарности: 3

Профиль | Отправить PM | Цитировать


Увидел забавную картинку и задался вопросом.
Как в смд искать слова по маске?
Посмотреть картинку

Тут зашифровано слово ХИТРЕЦ.

Соответственно из текстового файла со списком всех русских слов
хочу по маске ?и???ц найти слово хитрец
Я так понял что нативные find и findstr так не умеют.
Какой программой под смд можно найти слова по маске?
Может grep умеет?

Отправлено: 17:26, 24-01-2020

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата ateka:
Я так понял что нативные find и findstr так не умеют. »
findstr.exe умеет:
Код: Выделить весь код
type "C:\Мои проекты\0296\0001.txt" | findstr.exe /i /r /c:"^[а-яё]и[а-яё][а-яё][а-яё]ц$"
Кодировка файла, естественно, должна быть в OEM/866.

Но лучше сие делать на WSH/PoSH, где есть полноценные (ну, или почти полноценные) регулярные выражения.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:13, 24-01-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Паразитирую на решении Iska
Код: Выделить весь код
@Echo Off
cls
	Set "Mask=?и???ц"
	Set "Vocabulary=Z:\Box_In\vocabulary.txt" 

	findstr.exe /i /r /c:"^%Mask:?=[а-яё]%$" "%Vocabulary%"
pause
Exit /B
Сделал формирование регулярки по маске

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:41, 24-01-2020 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Powershell:
Код: Выделить весь код
$dict = gc C:\temp\slovar\zdf-win.txt
$dict -match "^\wи\w{3}ц$"
китаец
сириец
хитрец
чилиец
чистец
В словаре Лопатина ещё нашлись
дидоец
ливиец
лидиец
лионец
миасец
мидиец
пиреец
сиамец
сиенец
хищнец

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 24-01-2020 в 22:51.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:32, 24-01-2020 | #4


Аватара для yurfed

Ветеран


Сообщения: 20046
Благодарности: 3123

Профиль | Отправить PM | Цитировать


DJ Mogarych, есть ещё одно - пИ..еЦ
ateka, я не знаю для чего вам это нужно, но есть программка для кроссвордов, которая делает всё тоже самое и даже больше. Cross+A. Имеет базу ~100000 слов с их описаниями.
Вот чо он выдал:
КИББУЦ (кибуц) кооперативное сельскохозяйственное предприятие в государстве Израиль
КИТАЕЦ (самоназвание - хань, ханьжэнь) представитель основного населения Китая
КИШНЕЦ (кориандр) растение семейства зонтичных (сельдерейных), медонос
ЛИВИЕЦ житель Ливии
ЛИВШИЦ российский актёр, создатель "Радионяни" совместно с Левенбуком; русский поэт, футурист (1886-1939)
ЛИДЕРЦ в венгерской мифологии злой дух, появляющийся на болотах в виде блуждающего огонька
ЛИПШИЦ французский художник, выходец из Литвы (1891-1973)
ЛИФШИЦ братья, российские физики-теоретики: (1915-1985) и (1916/17-82); российский литературовед (1905-1983)
СИАМЕЦ житель Сиама
СИРИЕЦ житель Сирии
ХИТРЕЦ хитрый человек
ХИЩНЕЦ насекомое, клоп
ЧИЛИЕЦ житель Чили
ЧИСТЕЦ медоносное травянистое растение семейства губоцветных

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Последний раз редактировалось yurfed, 24-01-2020 в 23:19.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:03, 24-01-2020 | #5


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Это понятно, но таких слов в словари обычно не добавляют.
Цитата yurfed:
программка для кроссвордов »
Цена: Условно-бесплатная, 1200 руб
Лучше уж Пауэршеллом.
Тем более, что у моих словарей 169037 уникальных слов.
Код: Выделить весь код
(gc C:\temp\slovar\zdf-win.txt,C:\temp\slovar\lop1v2.txt |sort -Unique).count
169037

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:15, 24-01-2020 | #6


Новый участник


Сообщения: 44
Благодарности: 3

Профиль | Отправить PM | Цитировать


Iska,megaloman, Увы не ищет. Не уважает подстановки [а-яё].
Если они идут подряд то findstr их игнорирует.

DJ Mogarych, а можно ванлайнер? Я бы его в батник засунул.

Последний раз редактировалось ateka, 24-01-2020 в 23:48.


Отправлено: 23:41, 24-01-2020 | #7


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


если в файле только русские слова, то вместо шаблона конкретных букв можно писать литерал произвольного символа - точку
Код: Выделить весь код
findstr /i /r /c:"^.и...ц$" vocabulary.txt
Цитата ateka:
можно ванлайнер? Я бы его в батник засунул. »
Код: Выделить весь код
Select-String '^.и...ц$' vocabulary.txt -Encoding OEM | Select-Object -ExpandProperty Line
Цитата ateka:
Увы не ищет. Не уважает подстановки [а-яё].
Если они идут подряд то findstr их игнорирует. »
видимо, вы где-то ошиблись

Последний раз редактировалось Busla, 25-01-2020 в 00:17.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:58, 24-01-2020 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата ateka:
Iska,megaloman, Увы не ищет. Не уважает подстановки [а-яё]. »
У меня — ищет
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:29, 25-01-2020 | #9


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


ateka,
Цитата ateka:
Увы не ищет. Не уважает подстановки [а-яё]. »
либо у Вас батник не в 866 кодировке, либо словарь не в 866 кодировке, либо и то и другое вместе.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:58, 25-01-2020 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поиск слов по маске

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Множественная замена слов по маске на случайные. artjuice Скриптовые языки администрирования Windows 2 09-12-2015 19:10
CMD/BAT - Поиск файлов по маске на удаленных машинах по словарю с выгрузкой в *.txt gremlintv2 Скриптовые языки администрирования Windows 3 09-12-2013 04:46
Поиск слова в txt затем поиск по маске "(383)" и вывод инфы rustoss AutoIt 10 29-09-2011 15:27
CMD/BAT - [решено] Поиск файла по маске и по дате Баян Скриптовые языки администрирования Windows 2 14-03-2011 13:32
Поиск слов не по документу, а по документам :) Sev Хочу все знать 4 26-01-2009 12:41




 
Переход