31

allez пишет:

а не могли бы вы выложить здесь один или несколько имеющихся у вас файлов-словарей

Словари_1.tar.gz : Брокгауз_Ефрон, БСЭ, Ефремова
Словари_2.tar.gz : Даль, Ожегов, Ожегов-Шведова, Ушаков, Философский словарь, Значения имен, Иностранных слов, Музыкальные жанры, Словарь компьютерных терминов, Словарь синонимов
P.S. Простите за большие паузы, не хватает времени...

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

32

ПОП пишет:

P.S. Простите за большие паузы, не хватает времени...

Ничего страшного, Москва не сразу строилась, да и я скрипт напишу не мгновенно. ab

33 (14.01.2014 15:13:51 отредактировано moshell)

ПОП, у Вас только 2 архива?
второй перезалейте пожалуйста куда нибудь где не нужно вводить номер телефона.


напишу себе скриптик тоже.

там не абзацы, там каждое определение умещается на одной строке.
$string =~ /^(.?)слово\g{1}[,-]?\s/
пока только такое определение вижу

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

34

moshell пишет:

ПОП, у Вас только 2 архива?

Архивов больше, только они большинство на Православную тематику и в разных форматах. Есть и такие: Толковый словарь эрудита, Энциклопедия заблуждений, Энциклопедия этикета, Энциклопедия чудес загадок и тайн, Энциклопедия - Мифы древнего Египта, Энциклопедия обрядов и обычаев.., по стилистике, языковые и т.д., если понадобятся, можно и их выложить.

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

Номер телефона вводить не надо. Внизу нажмите кнопку: "Спасибо, не надо" и откроется страница, где вводите символы, которые Вы видите на картинке и начнется загрузка файла.
За подсказки, спасибо!

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

35 (14.01.2014 21:24:10 отредактировано moshell)

#наслаждайтесь

perl -C -Mutf8 -n -e 'print $_ if /^"?слово_в_любом_регистре[",-]?\s/i' Словари_*/*

gu@moshell:~$ perl -C -Mutf8 -n -e 'print $_ if /^"?абба[",-]?\s/i' Словари_*/*
"АББА" (ABBA - по первым буквам имен участников группы), шведская поп-группа, возникла в 1973. Состав: Бенни Андерссон (клавишные, синтезатор, вокал), Бьорн Ульвеус (гитара, вокал), Агнета Фельтског (вокал), Анни-Фрид Лингстад Фредерикс (вокал). В 1970-е и нач. 80-х гг. гастролировала во многих зарубежных странах и завоевала всемирную популярность. Тексты песен на английском языке. Наиболее популярные песни "Waterloo" (Ватерлоо) (1974), "Fernando" (Фернандо), "Money, Money, Money" (Деньги, деньги, деньги) (обе 1976), "Knowing Me Knowing You" (1977) и др., обладают красивой мелодией и отличаются эмоциональным исполнением. Наиболее известные диски - "Waterloo" (1974), "ABBA" (1975), "Voulez-Vous" (1979). В 1983 распалась.
gu@moshell:~$ perl -C -Mutf8 -n -e 'print $_ if /^"паскаля улитка[",-]?\s/i' Словари_*/*
ПАСКАЛЯ УЛИТКА , плоская кривая, множество точек М и М?, расположенных на прямых, исходящих из одной точки О данной окружности, на одинаковом расстоянии по обе стороны от точки Р пересечения прямых с окружностью. Алгебраическая кривая 4-го порядка. Рассмотрена французским ученым Э. Паскалем (E. Pascal, 17 в.).
gu@moshell:~$ perl -C -Mutf8 -n -e 'print $_ if /^"?пенис[",-]?\s/i' Словари_*/*
пенис  м.  Мужской половой член.

###
#с этого и надо было начинать. без визуального ознакомления с текстом, тяжело писать парсилку
#если какое то слово не будет находить, но оно присутствует в словаре, сообщите, подправим регулярочку. все over100500 слов нет желания проверять
#я распаковал два ахрива в $HOME

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

36

moshell пишет:

#наслаждайтесь

    perl -C -Mutf8 -n -e 'print $_ if /^"?слово_в_любом_регистре[",-]?\s/i' Словари_*/*

Спасибо, большое! Пожалуй, это команда больше выводит.
Но, сравните вывод двух команд:

grep -Ei "^слово[^[:alpha:]]" *

и

perl -C -Mutf8 -n -e 'print $_ if /^"?слово[",-]?\s/i' *

В первой: вывод с подсветкой и указанием источника найденного слова. Это важно, т.к. более читабельна и дает возможность исправить ошибку в оригинале, если будет найдена. В перле это можно поправить?

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

37

Ребята, помогите теперь сделать скрипт для вывода найденного в диалоговое окно. Например, скрипт (в котором указан путь к словарям) запускается из меню:

#!/bin/sh
if zenity --entry --title="Справочник" --text="Введите слово для поиска и нажмите ОК:" \
          --entry-text=""

Вводим "искомое слово"... Как передать "искомое слово" команде поиска с выводом на экран (с возможностью правки текста), как-то так:

open_path="$(zenity --file-selection)"
if [ "$open_path" != "" ]
then
  orig_text=$(cat "$open_path")
  edit_text=$(echo -n "$orig_text" | zenity --text-info --editable \
                                         --width=900 --height=400)
  save_path=$(echo -n "$(zenity --file-selection \
                      --filename="$open_path" --save --confirm-overwrite)")
  echo -n "$edit_text" > "$save_path"
fi

Нашел на Opennet-те еще одну заготовку:

#!/bin/bash
# makedict.sh [создание словаря]

# Модификация сценария /usr/sbin/mkdict.
# Авторские права на оригинальный сценарий принадлежат Alec Muffett.
#
#  Этот модифицированный вариант включен в документ на основе
#+ документа "LICENSE" из пакета "Crack"
#+ с которым распространяется оригинальный сценарий.

#  Этот скрипт обрабатывает текстовые файлы и создает отсортированный список
#+ слов, найденных в этих файлах.
#  Он может оказаться полезным для сборки словарей
#+ и проведения лексикографического анализа.


E_BADARGS=65

if [ ! -r "$1" ]                     #  Необходим хотя бы один аргумент --
then                                 #+ имя файла.
  echo "Порядок использования: $0 имена_файлов"
  exit $E_BADARGS
fi


# SORT="sort"                        #  Необходимость задания ключей сортировки отпала.
                                     #+ Изменено, по отношению к оригинальному сценарию.

cat $* |                             # Выдать содержимое файлов на stdout.
        tr A-Z a-z |                 # Преобразовать в нижний регистр.
        tr ' ' '\012' |              # Новое: заменить пробелы символами перевода строки.
#       tr -cd '\012[a-z][0-9]' |    #  В оригинальном сценарии: удалить все символы,
                                     #+ которые не являются буквами или цифрами.
        tr -c '\012a-z'  '\012' |    #  Вместо удаления
                                     #+ неалфавитно-цифровые символы заменяются на перевод строки.
        sort |
        uniq |                       # Удалить повторяющиеся слова.
        grep -v '^#' |               # Удалить строки, начинающиеся с "#".
        grep -v '^$'                 # Удалить пустые строки.

exit 0

Какой вариант лучше? Во втором нет возможности правки...

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

38 (15.01.2014 14:36:25 отредактировано moshell)

ПОП пишет:

В первой: вывод с подсветкой и указанием источника найденного слова. Это важно, т.к. более читабельна и дает возможность исправить ошибку в оригинале, если будет найдена. В перле это можно поправить?

наслаждайся.


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

подсветить синтаксис пока еще выходит за рамки моих знаний
про встроенные модули не знаю еще.
если подключать внешние раскрашивающие модули и указывать на них в ком стоке, то нужно чтобы они и у вас были установлены.

ps. скоро можно будет статью про однострочники писать.

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

39

moshell пишет:

gu@moshell:~$ perl -CA -Mutf8 -M'open qw(:std :utf8)' -n -e 'print "$ARGV :> $_" if /^"?алкоголь[",-]?\s/i' Словари_*/*

Уже лучше, но у меня все сплошным текстом, т.е. без выделения даже источников. Если с выводом в текстовое окно, то можно было бы и так оставить, только с выделением источников...

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

40 (15.01.2014 15:34:03 отредактировано moshell)

ПОП пишет:
moshell пишет:

gu@moshell:~$ perl -CA -Mutf8 -M'open qw(:std :utf8)' -n -e 'print "$ARGV :> $_" if /^"?алкоголь[",-]?\s/i' Словари_*/*

Уже лучше, но у меня все сплошным текстом, т.е. без выделения даже источников. Если с выводом в текстовое окно, то можно было бы и так оставить, только с выделением источников...

что значит без выделения?
вот оно
gu@moshell:~$ perl -CA -Mutf8 -M'open qw(:std :utf8)' -n -e 'print "$ARGV :> $_" if /^"?алкоголь[",-]?\s/i' Словари_*/*


следайте вот так  ap

gu@moshell:~$ 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). То же, что спирт (хим.). || Винный спирт. || Вино, спиртные напитки (разг.). Изгнать алкоголь из быта рабочих.
gu@moshell:~$

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

41

moshell пишет:

что значит без выделения?

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

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

42

moshell пишет:

следайте вот так

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

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

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

43

можно добавить символ 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:~$

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

44

ПОП пишет:

Уже лучше, но у меня все сплошным текстом, т.е. без выделения даже источников. Если с выводом в текстовое окно, то можно было бы и так оставить, только с выделением источников...

а я бы сделал иначе: распилил-бы словарь на куски. Например файл

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

содержимое

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

45

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

#!/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 <Брокгауз_Ефрон

потом:

 Консоль:
$ 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., раздутое тельце которого содержит воздушные полости). Представители Р. встречаются во всех странах света как в умеренных, так и с тропическим климатом, но только в пресной воде. Р. идет в пищу свиньям, курам, гусям и уткам ("утиная трава"). С. Р.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

46

да:

найти все слова с буквой х

 Консоль:
r$ ls *[хХ]*

найти все слова в словарной статье которых есть 'ночь' и вывести 10 первых

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

составить обратный словарь.
подобрать рифму к слову "корова"

 Консоль:
$ ls -U|rev|grep -E '^аво'|rev
Меньерова
Эолова
Колосова
Богданова
Казанова
Сандунова
Стрепетова
Канова
Морозова
Кордова
Базедова
Сова
Менниппова
Есипова
Семенова
Ермолова
Виттова
Голова

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

47 (16.01.2014 13:23:55 отредактировано ПОП)

drBatty пишет:

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

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

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

48

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

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

49

ПОП пишет:

Мысль хорошая, но не практична по причине множества лишних движений и словарей...

это вам так кажется только. Просто вы имеете мало опыта работы с СУБД и с CLI.

ПОП пишет:

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

почему они должны быть обязательно в одном каталоге? (да, "папка" это моветон).

ПОП пишет:

Все время вспоминаю слова прп. Амвросия Оптинского: "Где просто, там Ангелов со сто, а где мудрено, там ни одного".

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

ПОП пишет:

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

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

ПОП пишет:

P.S. Скрипт почему то распилил некоторые файлы на нечитаемые текстовиком

выкиньте на помойку ваш "текстовик". Это всё внутри консоли надо делать, а не прыгать между консолью и окнами.

А скрипт -- да, не доделанный. Просто концепт того, что данный подход в принципе работает. А то в общие слова вы не поверите.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

50

ПОП пишет:

Кстати, команда на perl в несколько раз быстрее ищет

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

ПОП пишет:

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

повторяю: это концепт. Мне лень было такое делать. В имени файла допустимы любые символы кроме слеша, т.ч. кавычки тоже можно.

 Консоль:
$ touch '"Слово"'
$ ll \"*
-rw-r--r-- 1 drb users 0 янв 16 14:08 "Слово"

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

51

drBatty пишет:

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

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

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

52 (16.01.2014 14:30:11 отредактировано moshell)

drBatty пишет:

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

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

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

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

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

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:~$
"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

53

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

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

54

ПОП пишет:

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

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

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

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

ПОП пишет:

работа не будет ждать, пока я выучусь.

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

ПОП пишет:

Мне же не приходит в голову требовать "поповского" научения от простых работяг, загруженных по полной...

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

55

moshell пишет:

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

ох...

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

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

moshell пишет:

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

56

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

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

57

drBatty пишет:

Нужна нормальная СУБД, а не эта ерунда.

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

ОС: Debian 8.11, MATE 1.8.1, Caja 1.8.2

58

drBatty пишет:
moshell пишет:

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

ох...

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

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

moshell пишет:

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

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

дык решение должно быть с аналогичными исходными данными.
без всяких ваших дроблений

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

59

moshell пишет:

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

я не пугаю, а предупреждаю.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

60

ПОП пишет:

Ждем от Вас нормальную СУБД

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

moshell пишет:

дык решение должно быть с аналогичными исходными данными.
без всяких ваших дроблений

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)