CMD/BAT - [решено] Поиск слов по маске

Аватара пользователя
ateka

CMD/BAT - [решено] Поиск слов по маске

Сообщение ateka »

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

Как в смд искать слова по маске?



Посмотреть картинку

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

[/spoiler]




Соответственно из текстового файла со списком всех русских слов

хочу по маске ?и???ц найти слово хитрец


Я так понял что нативные find и findstr так не умеют.

Какой программой под смд можно найти слова по маске?

Может grep умеет?
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Поиск слов по маске

Сообщение Iska »

Цитата ateka:



Я так понял что нативные find и findstr так не умеют.
CMD/BAT - [решено] Поиск слов по маске




findstr.exe умеет:



Код:

Код: Выделить всё

type "C:\Мои проекты\0296\0001.txt" | findstr.exe /i /r /c:"^[а-яё]и[а-яё][а-яё][а-яё]ц$"

Кодировка файла, естественно, должна быть в OEM/866.



Но лучше сие делать на WSH/PoSH, где есть полноценные (ну, или почти полноценные) регулярные выражения.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Поиск слов по маске

Сообщение Iska »

ateka, а запустите-ка интерпретатор команд "%comspec%" /k и выполните в нём команду chcp — что покажет?
Аватара пользователя
ateka

Re: CMD/BAT - [решено] Поиск слов по маске

Сообщение ateka »

Powershell:



Код:

Код: Выделить всё

$dict = gc C:\temp\slovar\zdf-win.txt
$dict -match "^\wи\w{3}ц$"
китаец
сириец
хитрец
чилиец
чистец

В словаре Лопатина ещё нашлись

дидоец

ливиец

лидиец

лионец

миасец

мидиец

пиреец

сиамец

сиенец

хищнец
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Поиск слов по маске

Сообщение Iska »

DJ Mogarych, есть ещё одно - пИ..еЦ

ateka, я не знаю для чего вам это нужно, но есть программка для кроссвордов, которая делает всё тоже самое и даже больше.
Cross+A
. Имеет базу ~100000 слов с их описаниями.

Вот чо он выдал:

КИББУЦ (кибуц) кооперативное сельскохозяйственное предприятие в государстве Израиль

КИТАЕЦ (самоназвание - хань, ханьжэнь) представитель основного населения Китая

КИШНЕЦ (кориандр) растение семейства зонтичных (сельдерейных), медонос

ЛИВИЕЦ житель Ливии

ЛИВШИЦ российский актёр, создатель "Радионяни" совместно с Левенбуком; русский поэт, футурист (1886-1939)

ЛИДЕРЦ в венгерской мифологии злой дух, появляющийся на болотах в виде блуждающего огонька

ЛИПШИЦ французский художник, выходец из Литвы (1891-1973)

ЛИФШИЦ братья, российские физики-теоретики: (1915-1985) и (1916/17-82); российский литературовед (1905-1983)

СИАМЕЦ житель Сиама

СИРИЕЦ житель Сирии

ХИТРЕЦ хитрый человек

ХИЩНЕЦ насекомое, клоп

ЧИЛИЕЦ житель Чили

ЧИСТЕЦ медоносное травянистое растение семейства губоцветных
Аватара пользователя
megaloman

Re: CMD/BAT - [решено] Поиск слов по маске

Сообщение megaloman »

Это понятно, но таких слов в словари обычно не добавляют.


Цитата yurfed:



программка для кроссвордов
CMD/BAT - [решено] Поиск слов по маске




Цена: Условно-бесплатная, 1200 руб Изображение

Лучше уж Пауэршеллом.

Тем более, что у моих словарей 169037 уникальных слов.



Код:

Код: Выделить всё

(gc C:\temp\slovar\zdf-win.txt,C:\temp\slovar\lop1v2.txt |sort -Unique).count
169037
Аватара пользователя
DJ Mogarych

Re: CMD/BAT - [решено] Поиск слов по маске

Сообщение DJ Mogarych »

Powershell:



Код:

Код: Выделить всё

$dict = gc C:\temp\slovar\zdf-win.txt
$dict -match "^\wи\w{3}ц$"
китаец
сириец
хитрец
чилиец
чистец

В словаре Лопатина ещё нашлись

дидоец

ливиец

лидиец

лионец

миасец

мидиец

пиреец

сиамец

сиенец

хищнец
Аватара пользователя
yurfed

Re: CMD/BAT - [решено] Поиск слов по маске

Сообщение yurfed »

если в файле только русские слова, то вместо шаблона конкретных букв можно писать литерал произвольного символа - точку



Код:

Код: Выделить всё

findstr /i /r /c:"^.и...ц$" vocabulary.txt


Цитата ateka:



можно ванлайнер? Я бы его в батник засунул.
CMD/BAT - [решено] Поиск слов по маске






Код:

Код: Выделить всё

Select-String '^.и...ц$' vocabulary.txt -Encoding OEM | Select-Object -ExpandProperty Line


Цитата ateka:



Увы не ищет. Не уважает подстановки [а-яё].

Если они идут подряд то findstr их игнорирует.
CMD/BAT - [решено] Поиск слов по маске




видимо, вы где-то ошиблись
Аватара пользователя
DJ Mogarych

Re: CMD/BAT - [решено] Поиск слов по маске

Сообщение DJ Mogarych »

Цитата ateka:



Iska,megaloman, Увы не ищет. Не уважает подстановки [а-яё].
CMD/BAT - [решено] Поиск слов по маске







У меня — ищет

[spoiler]Изображение[/spoiler]
Аватара пользователя
ateka

Re: CMD/BAT - [решено] Поиск слов по маске

Сообщение ateka »

ateka,
Цитата ateka:



Увы не ищет. Не уважает подстановки [а-яё].
CMD/BAT - [решено] Поиск слов по маске




либо у Вас батник не в 866 кодировке, либо словарь не в 866 кодировке, либо и то и другое вместе.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»