LinuxForum.Fans
Тема

Правка/поиск текста

Автор: u____11 130 сообщений 25145 просмотров
#360535
"moshell" написал:
что значит без выделения?

Даль :> АЛКОГОЛЬ м. химич. мельчайшая очищенная пыль, порошок, бус; | чистый винный спирт, безводный спирт (хлебный или плодовый); виноспирт, извинь. Алкогольный, спиртовой, извинный; алкоголический, то же, более в смысле подобия, сходства; алкоголистый, спиртоватый, с извинью. Алкоголизировать что, обращать в пыль, в извинь. Алкоголизация ж. действие по глаг., винное брожение, преобразование вещества в вино. Алкоголеметр м. спиртомер, виномер; поплавок с градусником, показывающий отношение извини к воде, крепость, в данной смеси; он основан на относительной (удельной) тяжести той и другой жидкости. см. ареометр.
Ефремова :> алкоголь м. 1) Винный спирт. 2) разг. Водка и другие крепкие спиртные напитки. ...
#360537
"moshell" написал:
следайте вот так

gu@moshell:~$ perl -CA -Mutf8 -M'open qw(:std :utf8)' -n -e 'print "$ARGV", ">" x 30," $_" if /^"?алкоголь[",-]?\s/i' Словари_*/*
Словари_1/Ефремова>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> алкоголь м. 1) Винный спирт. 2) разг. Водка и другие крепкие спиртные напитки...

Ну, так и эдак сразу попробывал (не алкоголь) *JOKINGLY* Повторюсь: если с выводом в текстовое окно, то можно и так оставить...

#360538

можно добавить символ newline чтоб не рябило в глазах

gu@moshell:~$ perl -CA -Mutf8 -M'open qw(:std :utf8)' -n -e 'print "$ARGV", ">" x 30," $_\n" if /^"?алкоголь[",-]?\s/i' Словари_*/*
Словари_1/Ефремова>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> алкоголь м. 1) Винный спирт. 2) разг. Водка и другие крепкие спиртные напитки.

Словари_2/Даль>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> АЛКОГОЛЬ м. химич. мельчайшая очищенная пыль, порошок, бус; | чистый винный спирт, безводный спирт (хлебный или плодовый); виноспирт, извинь. Алкогольный, спиртовой, извинный; алкоголический, то же, более в смысле подобия, сходства; алкоголистый, спиртоватый, с извинью. Алкоголизировать что, обращать в пыль, в извинь. Алкоголизация ж. действие по глаг., винное брожение, преобразование вещества в вино. Алкоголеметр м. спиртомер, виномер; поплавок с градусником, показывающий отношение извини к воде, крепость, в данной смеси; он основан на относительной (удельной) тяжести той и другой жидкости. см. ареометр.

Словари_2/Иностранных_слов>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> алкоголь [< ар. al-kuhl тонкий порошок]- 1) алкоголя - иначе спирты - класс органических соединений алифатического ряда, содержащих гидроксильную группу (он); многие спирты, напр, этиловый (винный), метиловый, бутиловый, широко используются как сырье и полупродукты во многих промышленных синтезах, как растворители и т. д.; 2) в разговорном языке - винный спирт.

Словари_2/Ожегов>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> алкоголь одноатомный спирт

Словари_2/Ожегов>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> алкоголь вообще вино, спиртные напитки

Словари_2/Ожегов_Шведова>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> АЛКОГОЛЬ, -я, м. 1. Одноатомный спирт (спец.). 2. Вообще вино, спиртныенапитки. II прил. алкогольный, -ая, -ое. Алкоголь- \ ная зависимость(болезненное влечение к алкоголю).

Словари_2/Ушаков>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> АЛКОГОЛЬ алкоголя, м. (от араб. al-kuhl). То же, что спирт (хим.). || Винный спирт. || Вино, спиртные напитки (разг.). Изгнать алкоголь из быта рабочих.

gu@moshell:~$
#360684

"ПОП" написал:
Уже лучше, но у меня все сплошным текстом, т.е. без выделения даже источников. Если с выводом в текстовое окно, то можно было бы и так оставить, только с выделением источников...
а я бы сделал иначе: распилил-бы словарь на куски. Например файл

~/Словарь/АЛКОГОЛЬ

содержимое
text

АЛКОГОЛЬ м. химич. мельчайшая очищенная пыль, порошок, бус; | чистый винный спирт, безводный спирт (хлебный или плодовый); виноспирт, извинь. Алкогольный, спиртовой, извинный; алкоголический, то же, более в смысле подобия, сходства; алкоголистый, спиртоватый, с извинью. Алкоголизировать что, обращать в пыль, в извинь. Алкоголизация ж. действие по глаг., винное брожение, преобразование вещества в вино. Алкоголеметр м. спиртомер, виномер; поплавок с градусником, показывающий отношение извини к воде, крепость, в данной смеси; он основан на относительной (удельной) тяжести той и другой жидкости. см. ареометр.
Ефремова :> алкоголь  м.  1) Винный спирт.  2) разг. Водка и другие крепкие спиртные напитки. ...

что-бы найти статью нужно перейти в каталог, и набрать cat АЛКОГОЛЬ (дополнение поможет).

#360688

ну вот таким скриптом пилится:

text
#!/bin/bash

DIR="Брокгауз_Ефрон.dir" [ -d "$DIR" ] || mkdir "$DIR"

while read S; do N=$(echo "$S" | sed -r 's/^(\w+)\>.*/\1/') echo "'$N'" echo "'$S'" echo "$S" > "$DIR/$N" done <Брокгауз_Ефрон

потом:
[console]$ cat Брокгауз_Ефрон.dir/Ря
Рябина Рязанский Рязанское Рязань Ряса Ряска
$ cat Брокгауз_Ефрон.dir/Ряс
Ряса Ряска
$ cat Брокгауз_Ефрон.dir/Ряска
Ряска (Lemna L.) - родовое название растений из сем. рясковых. Это - крохотные многолетние растеньица, плавающие обыкновенно в громадном количестве на поверхности тихо стоячих вод. Между цветковыми растениями Р. наиболее редуцированы: у них нет расчленения на стебель и лист, и все тело их представлено зеленою пластинкою, несущею снизу один корень, а по бокам сзади боковые, такие же пластинчатые побеги, сидящие в особых углублениях, так наз. кармашках. Побеги разрастаются, обособляются и таким образом происходить размножение Р. Цветут они крайне редко. Цветки мелкие, невзрачные, однополые, появляются в кармашке. Они собраны в мелкие соцветия, состоящие из двух мужских цветков, низведенных до 2 тычинок, и одного женского цветка, представленного лишь пестиком. Соцветие снабжено небольшим листовым придатком, напоминающим крыло у початкоцветных. Завязь одногнездная с 1 - 4 - 6 семяпочками. Плод - мешочек. Семя имеет толстую кожуру и небольшой белок; при прорастании оно вскрывается крышечкою. Род Lemna распадается на подроды: 1) Hydrophace (завязь с одною семяпочкою; белок трехслойный; сюда относится обычное в наших водах L. trisulca L. - погруженное в воду растение, побег имеет вид продолговатоланцетного прозрачного листка с тонкою ножкою; боковые побеги не отделяются от произведшего их, отчего растеньице кажется очень ветвистым. L. minor L., также обычное у нас растеньице, плавающее на поверхности воды; тельце его округлое, эллиптическое, непрозрачное; не суженные в ножку боковые побеги вскоре обособляются от произведшего их; 2) Telmatophace (завязь с 4-6 семяпочками; белок однослойный; сюда относится редкое у нас растение L. gibba L., раздутое тельце которого содержит воздушные полости). Представители Р. встречаются во всех странах света как в умеренных, так и с тропическим климатом, но только в пресной воде. Р. идет в пищу свиньям, курам, гусям и уткам ("утиная трава"). С. Р.
[/console]

#360689

да:

найти все слова с буквой х
[console]r$ ls *[хХ]*[/console]

найти все слова в словарной статье которых есть 'ночь' и вывести 10 первых
[console]$ grep -io 'ночь' * |head
Айвазовский:ночь
Алкивиад:ночь
Алябьев:ночь
Андрей:ночь
Антиподы:ночь
Армянская:ночь
Ассирийское:ночь
Аттила:ночь
Ауто:ночь
Багдад:ночь
[/console]

составить обратный словарь.
подобрать рифму к слову "корова"
[console]$ ls -U|rev|grep -E '^аво'|rev
Меньерова
Эолова
Колосова
Богданова
Казанова
Сандунова
Стрепетова
Канова
Морозова
Кордова
Базедова
Сова
Менниппова
Есипова
Семенова
Ермолова
Виттова
Голова
[/console]

#360718
"drBatty" написал:
а я бы сделал иначе: распилил-бы словарь на куски... что-бы найти статью нужно перейти в каталог...

Мысль хорошая, но не практична по причине множества лишних движений и словарей... Мне пришлось установить нескольким знакомым (а двое еще учатся) Linux, и они еще не свободно ориентируются в новой ОСи, а работать надо. Им также (как и мне) понадобилось иметь словари для быстрого поиска наподобие Universal Vocabulary (об этом в теме), по этой причине и возник вопрос о простом скрипте для многих словарей в/из одной папке. Все время вспоминаю слова прп. Амвросия Оптинского: "Где просто, там Ангелов со сто, а где мудрено, там ни одного". Упоминаемый словарь, как раз и отличается своей гениальной простотой и доступностью даже для совсем "тормозных".
ИМХО: Если мы предлагаем людям новую ОСь, то должны пощадить людей и их время, в смысле предоставить более простую и совершенную форму исполнения работы.
P.S. Скрипт почему то распилил некоторые файлы на нечитаемые текстовиком

#360728

Кстати, команда на perl в несколько раз быстрее ищет + еще слова, начинающиеся с кавычек: "СЛОВО", "СЛОВО И ДЕЛО ГОСУДАРЕВО", "СЛОВО О ПОЛКУ ИГОРЕВЕ"...

#360731
"ПОП" написал:
Мысль хорошая, но не практична по причине множества лишних движений и словарей...
это вам так кажется только. Просто вы имеете мало опыта работы с СУБД и с CLI.

"ПОП" написал:
Мне пришлось установить нескольким знакомым (а двое еще учатся) Linux, и они еще не свободно ориентируются в новой ОСи, а работать надо. Им также (как и мне) понадобилось иметь словари для быстрого поиска наподобие Universal Vocabulary (об этом в теме), по этой причине и возник вопрос о простом скрипте для многих словарей в/из одной папке.
почему они должны быть обязательно в одном каталоге? (да, "папка" это моветон).

"ПОП" написал:
Все время вспоминаю слова прп. Амвросия Оптинского: "Где просто, там Ангелов со сто, а где мудрено, там ни одного".
вы простоту не разумеете. Задача старая и хорошо исследованная. И давно решённая. Вот как раз каталог в Linux -- это одно из решений. Есть другие, но каталог хорош тем, что он встроен в систему, и не требует никаких дополнительных костылей и подпорок.

"ПОП" написал:
Если мы предлагаем людям новую ОСь, то должны пощадить людей и их время, в смысле предоставить более простую и совершенную форму исполнения работы.

Увы. Учится всё равно придётся, нравится вам это, или нет. Точнее -- переучиваться. Вы даже терминологию используете кривую. Считайте, что компьютер вы не знаете вовсе.

"ПОП" написал:
P.S. Скрипт почему то распилил некоторые файлы на нечитаемые текстовиком
выкиньте на помойку ваш "текстовик". Это всё внутри консоли надо делать, а не прыгать между консолью и окнами.

А скрипт -- да, не доделанный. Просто концепт того, что данный подход в принципе работает. А то в общие слова вы не поверите.
#360734
"ПОП" написал:
Кстати, команда на perl в несколько раз быстрее ищет

дык мой скрипт только режет. А поиска там и нет. Ищет сама операционная система, и её скорость как минимум в Over9000 раз быстрее любого перла.

"ПОП" написал:
еще слова, начинающиеся с кавычек: "СЛОВО", "СЛОВО И ДЕЛО ГОСУДАРЕВО", "СЛОВО О ПОЛКУ ИГОРЕВЕ"...

повторяю: это концепт. Мне лень было такое делать. В имени файла допустимы любые символы кроме слеша, т.ч. кавычки тоже можно.
[console]$ touch '"Слово"'
$ ll \"*
-rw-r--r-- 1 drb users 0 янв 16 14:08 "Слово"
[/console]

#360741
"drBatty" написал:
вы простоту не разумеете. Задача старая и хорошо исследованная. И давно решённая. Вот как раз каталог в Linux -- это одно из решений. Есть другие, но каталог хорош тем, что он встроен в систему, и не требует никаких дополнительных костылей и подпорок.

Я, действительно не разумею многого и компьютер не знаю вовсе и даже: "Учится всё равно придётся, нравится вам это, или нет", - само собой разумеется. НО, если Вы опытны в этом деле, то подскажите, пока я не научился, ведь работа не будет ждать, пока я выучусь. Мне же не приходит в голову требовать "поповского" научения от простых работяг, загруженных по полной...

#360747
drBatty написал:
Ищет сама операционная система, и её скорость как минимум в Over9000 раз быстрее любого перла.

прошу полное решение (скрипт, комбайнеры и т.д.) где вводится искомое слово и получение его определения(ний). и команду time
на моей виртуальной системе с 1 процессором и памятью 512 мб

text
gu@moshell:~$ time perl -CA -Mutf8 -M'open qw(:std :utf8)' -n -e 'print "$ARGV", ">" x 30," $_" if /^"?алкоголь[",-]?\s/i' Словари_*/*
Словари_1/Ефремова>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> алкоголь  м.  1) Винный спирт.  2) разг. Водка и другие крепкие спиртные напитки.
Словари_2/Даль>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> АЛКОГОЛЬ м. химич. мельчайшая очищенная пыль, порошок, бус; | чистый винный спирт, безводный спирт (хлебный или плодовый); виноспирт, извинь. Алкогольный, спиртовой, извинный; алкоголический, то же, более в смысле подобия, сходства; алкоголистый, спиртоватый, с извинью. Алкоголизировать что, обращать в пыль, в извинь. Алкоголизация ж. действие по глаг., винное брожение, преобразование вещества в вино. Алкоголеметр м. спиртомер, виномер; поплавок с градусником, показывающий отношение извини к воде, крепость, в данной смеси; он основан на относительной (удельной) тяжести той и другой жидкости. см. ареометр.
Словари_2/Иностранных_слов>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> алкоголь [< ар. al-kuhl тонкий порошок]- 1) алкоголя - иначе спирты - класс органических соединений алифатического ряда, содержащих гидроксильную группу (он); многие спирты, напр, этиловый (винный), метиловый, бутиловый, широко используются как сырье и полупродукты во многих промышленных синтезах, как растворители и т. д.; 2) в разговорном языке - винный спирт.
Словари_2/Ожегов>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> алкоголь одноатомный спирт
Словари_2/Ожегов>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> алкоголь вообще вино, спиртные напитки
Словари_2/Ожегов_Шведова>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> АЛКОГОЛЬ,  -я,  м. 1. Одноатомный спирт (спец.). 2. Вообще вино,  спиртныенапитки. II прил. алкогольный,  -ая,  -ое. Алкоголь- \ ная зависимость(болезненное влечение к алкоголю).
Словари_2/Ушаков>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> АЛКОГОЛЬ  алкоголя, м. (от араб. al-kuhl). То же, что спирт (хим.). || Винный спирт. || Вино, спиртные напитки (разг.). Изгнать алкоголь из быта рабочих.

real 0m0.955s user 0m0.896s sys 0m0.052s

теперь хочу ваше решение запустить на моей же машине

вот простой пример.

text
gu@moshell:~$ time cat Словари_*/* | grep -i "^алкоголь "
алкоголь  м.  1) Винный спирт.  2) разг. Водка и другие крепкие спиртные напитки.
АЛКОГОЛЬ м. химич. мельчайшая очищенная пыль, порошок, бус; | чистый винный спирт, безводный спирт (хлебный или плодовый); виноспирт, извинь. Алкогольный, спиртовой, извинный; алкоголический, то же, более в смысле подобия, сходства; алкоголистый, спиртоватый, с извинью. Алкоголизировать что, обращать в пыль, в извинь. Алкоголизация ж. действие по глаг., винное брожение, преобразование вещества в вино. Алкоголеметр м. спиртомер, виномер; поплавок с градусником, показывающий отношение извини к воде, крепость, в данной смеси; он основан на относительной (удельной) тяжести той и другой жидкости. см. ареометр.
алкоголь [< ар. al-kuhl тонкий порошок]- 1) алкоголя - иначе спирты - класс органических соединений алифатического ряда, содержащих гидроксильную группу (он); многие спирты, напр, этиловый (винный), метиловый, бутиловый, широко используются как сырье и полупродукты во многих промышленных синтезах, как растворители и т. д.; 2) в разговорном языке - винный спирт.
алкоголь одноатомный спирт
алкоголь вообще вино, спиртные напитки
АЛКОГОЛЬ  алкоголя, м. (от араб. al-kuhl). То же, что спирт (хим.). || Винный спирт. || Вино, спиртные напитки (разг.). Изгнать алкоголь из быта рабочих.

real 0m10.682s user 0m10.309s sys 0m0.336s gu@moshell:~$

#360748

drBatty, хорошо, разбиваем все словари по Вашему сценарию, дальше... Раз Вы подкинули гениальную идею, то завершите, ради Бога, свое начинание, т.к. мое неразумие не дотягивает до такой высоты парения мысли.

#360750
"ПОП" написал:
НО, если Вы опытны в этом деле, то подскажите, пока я не научился

ну у вас только два пути:

1. забыть линукс как страшный сон, поставить венду/мак, и спросить на других форумах, какие вам купить/скачать/украсть костыли. Может даже они есть, и может даже бесплатные, и может даже не ворованные, и возможно и без жучков. Тут я не в курсе.

2. освоить OS Linux. А начинать надо с азов, а азы тут -- командная строка и работа с текстовыми файлами. Без этого умения у вас НИЧЕГО не получится. Даже здешнее ПО и то часто требует именно таких знаний. Т.е. юзать-то вы ПО сможете, но только после того, как администратор вам его поставит и настроит.

"ПОП" написал:
работа не будет ждать, пока я выучусь.
куда она денется? Что-бы копать лопатой, надо изучить лопату. Или нанять опытного специалиста. Третьего не дано. Увы. Самокопательных лопат не бывает, а реклама врёт. Увы.

"ПОП" написал:
Мне же не приходит в голову требовать "поповского" научения от простых работяг, загруженных по полной...
не... Здесь вам команду(на перле) какую-нить конечно напишут, и она даже что-то сделает (хотя могут и пошутить. На другом форуме 11 лет назад дали команду на перле, которая ВСЁ с дисков удаляет, в т.ч. ОС и саму себя), вот только это не вариант.

Ну и да. С математической точки зрения, поиск в тексте таким вот образом(командой на перловке) занимает слишком много времени, и даёт очень мало возможностей. Просто тупо найти одно слово редко когда надо... Нужна нормальная СУБД, а не эта ерунда.
#360756
"moshell" написал:
вот простой пример.

ох...

text
 find -iname "алкоголь"

слова же все индексированы, и индекс это каталог. Т.ч. грепать ничего не нужно.

"moshell" написал:
прошу полное решение (скрипт, комбайнеры и т.д.) где вводится искомое слово и получение его определения(ний). и команду time

я не думаю, что вы сможете посчитать время, за которое ваша система просматривает десяток каталогов. Т.ч. не пытайтесь делить на ноль, моё решение практически бесконечно быстрое. :)

#360757

drBatty, ну всё, мир накрылся тазом, все испугались парча Бармина.
use Safe спасет параноиков

#360758
"drBatty" написал:
Нужна нормальная СУБД, а не эта ерунда.

Ждем от Вас нормальную СУБД, т.к. от ненормальных и неразумных нормальное не получится.

#360759
drBatty написал:
[quote="moshell"]вот простой пример.

ох...

text
 find -iname "алкоголь"

слова же все индексированы, и индекс это каталог. Т.ч. грепать ничего не нужно.

"moshell" написал:
прошу полное решение (скрипт, комбайнеры и т.д.) где вводится искомое слово и получение его определения(ний). и команду time

я не думаю, что вы сможете посчитать время, за которое ваша система просматривает десяток каталогов. Т.ч. не пытайтесь делить на ноль, моё решение практически бесконечно быстрое. :)[/quote]
дык решение должно быть с аналогичными исходными данными.
без всяких ваших дроблений

#360766

"moshell" написал:
ну всё, мир накрылся тазом, все испугались парча Бармина.
я не пугаю, а предупреждаю.
#360771

"ПОП" написал:
Ждем от Вас нормальную СУБД
для ваших целей вполне подходит ФС Linux'а. Кстати, сам линукс тоже её юзает. Например именно так хранится документация, которая man pages. И кстати, вы можете именно её и использовать. Также ознакомьтесь с командой wtf -- это уже готовый встроенный словарик.

"moshell" написал:
дык решение должно быть с аналогичными исходными данными.
без всяких ваших дроблений
с какого перепуга? Вам так удобнее? А вот ТСу похоже пофиг, в каком это будет формате лежать, ему ехать, а не ваши шашечки.
Войдите или зарегистрируйтесь, чтобы ответить.