The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Создать новую тему
 - Свернуть нити
Пометить прочитанным
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |  
Форум Программирование под UNIX
QT обработчик кнопки, !*! Аноним, (C/C++) 24-Фев-17, 12:47  [ | | | ] [линейный вид] [смотреть все]
Как сделать чтобы при нажатии на кнопу выполнялись расчеты ???

Если можно попроще, все перепробовал никак не получается, смысл никак не пойму...

Как попростому через вот это вот Qpushbutton.clicked () {Некие расчеты и действия}  ?

Или нужно ценлый огород городит с сигналами и слотами ?

Как найти все точки монтирования в дереве каталогов?, !*! Achkins, (Shell скрипты) 29-Апр-21, 20:51  [ | | | ] [линейный вид] [смотреть все]
Привет!

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

Кроме как вот так:


sudo find / -type d | while read d ; do mountpoint -q "${d}" && echo ${d} ; done

Спасибо!

Посоветуйте базу данных, !*! Анонизм, (Базы данных, SQL) 05-Ноя-20, 12:22  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте

Подскажите, есть ли в природе база данных как postgres, но без sql?
Чтобы был ACID, структуры данных, транзакции сетевой протокол обмена..
Но без этого ужасного языка запросов.
Чтобы вместо SQL какая-нибудь апишечка или json-чик, как в монге. Что угодно адекватное.
Короче, что-нибудь адекватней адского месива английских слов и невнятных операторов, именуемого SQL

Реализовать скрипт, который решает квадратное уравнение , !*! Yurii, (Python) 03-Окт-21, 16:01  [ | | | ] [линейный вид] [смотреть все]
Реализовать скрипт, который решает квадратное уравнение вида 𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 0.
Параметры квадратного уравнения 𝑎, 𝑏, 𝑐 задаются вводом или через аргументы командной строки.
В скрипте реализовать несколько функций, которые декомпозируют задачу решения квадратного
уравнения. В эти функции должны передаваться параметры. Также на эти функций написать UnitTests.
Основной скрипт solv_square_equation.py должен иметь следующие функции:
main()
validate_param(int) - проверяет, что введено число, повторяет ввод 3 раза если не число
(использовать exception)
discriminant(a, b, c)
roots(d, a, b, c)
solv_square(a, b, c) -> roots
square_print(a, b, c, roots) – выводит на экран результат
на выделенные написать UnitTest.
Не использовать глобальные переменные.
* Реализовать возврат exit_code из скрипта, в котором должна кодироваться ошибка. Количество
возможных ошибок определить самостоятельно. Разрешено использовать глобальные переменны
(константы), которые записываются большими буквами и слова разделены “_” (Пример:
SUCCESS_EXIT=0). Эти переменные можно использовать только в методе main().

socat, как оно это делает?, !*! cods, (C/C++) 18-Авг-21, 14:13  [ | | | ] [линейный вид] [смотреть все]
мне в программе нужно завернуть stdin/stdout в дескриптор чтобы через него можно было полноценно делать read/write, подскажите какой алгоритм действий?


, ***, (Языки программирования) -Дек-, 00:  [ | | | ] [линейный вид] [смотреть все]
, ***, (Языки программирования) -Дек-, 00:  [ | | | ] [линейный вид] [смотреть все]
openssl dgst , !*! Monte, (Библиотеки, функции) 01-Июн-21, 11:34  [ | | | ] [линейный вид] [смотреть все]
openssl dgst -sign    Насколько я понимаю создает hash  от контента  

Я так понимаю от одного и того же контента и сертификата должен быть один и тот же hash

echo 12345|openssl dgst  -sign cert.pem -binary -md_gost12_256|base64

У меня каждый раз разный...
Это глюк  или я что-то не понимаю  как это работает ... где почитать?...

В итоге мне нужно сделать тег Signature для XML документа по технологии Xadec-Bas
во многих реализациях  Hash получают с помощью openssl dgst -sign
У одного документа  всегда разная подпись?!.

Есть вообще способ проверить и найти ошибки в ней?...

что в моей подписи не так ? подскажите плз...

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns1="http://dom.gosuslugi.ru/schema/integration/organizations-bas...
    xmlns:ns2="http://dom.gosuslugi.ru/schema/integration/organizations-reg...
    xmlns:ns3="http://dom.gosuslugi.ru/schema/integration/base/">
    <SOAP-ENV:Header>
        <ns3:ISRequestHeader>
            <ns3:Date>2021-05-31T00:08:38+03:00</ns3:Date>
            <ns3:MessageGUID>5DE5F9C3-F4BB-43B3-B201-F5C24A6F02E0
            </ns3:MessageGUID>
        </ns3:ISRequestHeader>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <ns2:exportOrgRegistryRequest ns3:version="10.0.2.1"
            Id="C6EAB757-CA32-4052-80C5-13167607C791">
            <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
                Id="xmldsig-6E938488-6FF7-4F4B-A111-9D1735844EDA">
                <ds:SignedInfo>
                    <ds:CanonicalizationMethod
                        Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
                    <ds:SignatureMethod
                        Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256" />
                    <ds:Reference URI="#signed-data-container">
                        <ds:Transforms>
                            <ds:Transform
                                Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                            <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
                        </ds:Transforms>
                        <ds:DigestMethod
                            Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256" />
                        <ds:DigestValue>5B+dx+iSx3tfJrVJrmbdjdmzsk7+OiNG/LQPDGQBmX0=
                        </ds:DigestValue>
                    </ds:Reference>
                    <ds:Reference
                        URI="#xmldsig-6E938488-6FF7-4F4B-A111-9D1735844EDA-signedprops"
                        Type="http://uri.etsi.org/01903#SignedProperties">
                        <ds:Transforms>
                            <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
                        </ds:Transforms>
                        <ds:DigestMethod
                            Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256" />
                        <ds:DigestValue>1nttl3BaBX+jFYAK4C6flUyO9aqIl1HVyALo0OhllpA=
                        </ds:DigestValue>
                    </ds:Reference>
                </ds:SignedInfo>
                <ds:SignatureValue>reN4uFcBFs050P8W+G1z2p848kyry7W3vgfVpXmdtqqI9WotEBQEHXvw8SNVwVr/dX/nx/+RWZoie7sG9M3w3A==
                </ds:SignatureValue>
                <ds:KeyInfo Id="xmldsig-f83d2c1f-d039-4892-a76b-f583daa14edc">
                    <ds:X509Data xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                        <ds:X509Certificate>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
                        </ds:X509Certificate>
                    </ds:X509Data>
                </ds:KeyInfo>
                <ds:Object>
                    <xades:QualifyingProperties    xmlns:xades="http://uri.etsi.org/01903/v1.3.2#"
                        Target="#xmldsig-6E938488-6FF7-4F4B-A111-9D1735844EDA">
                        <xades:SignedProperties
                            Id="xmldsig-6E938488-6FF7-4F4B-A111-9D1735844EDA-signedprops">
                            <xades:SignedSignatureProperties>
                                <xades:SigningTime>2021-05-31T00:08:38+03:00</xades:SigningTime>
                                <xades:SigningCertificate>
                                    <xades:Cert>
                                        <xades:CertDigest>
                                            <ds:DigestMethod
                                                Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"></ds:DigestMethod>
                                            <ds:DigestValue>9kHlBOpJ9pWFi8QnsGaT1lJ5riqyw0UX9P2FvG3aWfE=
                                            </ds:DigestValue>
                                        </xades:CertDigest>
                                        <xades:IssuerSerial>
                                            <ds:X509IssuerName>emailaddress=info@cryptopro.ru,ogrn=1037700085444,inn=007717107991,c=RU,st=77
                                                Москва,l=Москва,street=ул. Сущёвский вал д. 18,o=ООО
                                                \"КРИПТО-ПРО\",cn=Тестовый подчиненный УЦ ООО \"КРИПТО-ПРО\"
                                                ГОСТ 2012 (УЦ 2.0)</ds:X509IssuerName>
                                            <ds:X509SerialNumber>751682934315225238773334302835337483698
                                            </ds:X509SerialNumber>
                                        </xades:IssuerSerial>
                                    </xades:Cert>
                                </xades:SigningCertificate>
                            </xades:SignedSignatureProperties>
                        </xades:SignedProperties>
                    </xades:QualifyingProperties>
                </ds:Object>
            </ds:Signature>
            <ns2:SearchCriteria>
                <ns1:OGRNIP>318527500030903</ns1:OGRNIP>
                <ns2:isRegistered>true</ns2:isRegistered>
            </ns2:SearchCriteria>
        </ns2:exportOrgRegistryRequest>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


ресурсы для изучения Xlib, !*! Anonimoum, (Процессы, Треды, RPC) 25-Фев-21, 00:24  [ | | | ] [линейный вид] [смотреть все]
b, чувствую что всё не то и меня обманывают. Ну не могут по этим ресурсам учиться программисты!
Изучал по http://dfe.petrsu.ru/koi/posob/X. Проблемы: не живой язык, примерочный код писали довольно странно.
Ну и вообще хочу узнать что есть и как можно.

Язык написания не критичен (нужно только чтоб былo **живой**), посоветуйте, если знаете что-то, пожалуйста. Спасибо.

Подключение заголовков в Си, !*! Anonymooum, (C/C++) 28-Мрт-21, 15:30  [ | | | ] [линейный вид] [смотреть все]
Представим что имеется программа разделённая на `модули`. Модули, в свою очередь, подключаются в основной части программы в основную часть программы. В каждом модуле нужно использовать "a.h" и "b.h".

Вопрос: ли можно разом включить эти заголовки во всех исходных файлах программы, без прописывания их названий в каждом файле?

Спасибо!

Полиморфизм в Ср, !*! Anonymooum, (C/C++) 28-Мрт-21, 14:12  [ | | | ] [линейный вид] [смотреть все]
Всегда были проблемы с такого рода проектированием.

Вот пример:
```c
typedef struct ca_str { int a;  } ca_type;
typedef struct cb_str { char b; } cb_type;

struct p_str {
  c_type *c;
  /* must be pointer to
     ca_type or cb_type
  */
};
```

В `struct p_str` должен быть указатель или на `ca_type`, или же на `cb_type`. Желательно, один и тот же указатель.
Из моих изобретений – можно держать указатели на все возможные структуры, все ненужные из которых делать тотальным `NULL`, но это совершенно неприятно.

Как это делают программисты?

Символьные устройства FreeBSD 8. Отсутствие tty_subr.c, !*! Антон, (C/C++) 25-Мрт-21, 21:14  [ | | | ] [линейный вид] [смотреть все]
Добрый день!
Есть ISA плата ввода-вывода. Под FreeBSD 4, 5, 6, 7 для ее работы был написан драйвер ядра как символьное устройство.
Компилируется вместе с ядром FreeBSD.

В нем присутствуют функции b_to_q и q_to_b работы со связанными списками clist для которого выделятся блоки.
Функции находятся в ../kern/tty_subr.c.
При чтении с канала ввода-вывода туда помещаем данные,используется как буфер.

В версия FreeBSD 8 и выше данный файл отсутствует.https://cgit.freebsd.org/src/tree/sys/kern
Что вместо него использовать?
Или что можно почитать для разработки драйвера для символьного устройства? Или уже эта технология не актуальна, т.е. используют, например блочные устройства или pci карты по-другому работают?


  • gt оверквотинг удален Шина ISA осталась разве только в мини-устройствах Устро, !*! wizard22 (ok), 19:08 , 27-Мрт-21 (1)
    >[оверквотинг удален]
    > Компилируется вместе с ядром FreeBSD.
    > В нем присутствуют функции b_to_q и q_to_b работы со связанными списками clist
    > для которого выделятся блоки.
    > Функции находятся в ../kern/tty_subr.c.
    > При чтении с канала ввода-вывода туда помещаем данные,используется как буфер.
    > В версия FreeBSD 8 и выше данный файл отсутствует.https://cgit.freebsd.org/src/tree/sys/kern
    > Что вместо него использовать?
    > Или что можно почитать для разработки драйвера для символьного устройства? Или уже
    > эта технология не актуальна, т.е. используют, например блочные устройства или pci
    > карты по-другому работают?

    Шина ISA осталась разве только в мини-устройствах. Устройства ISA интеллектом не обладают. Современные устройства PCI/USB его должны иметь. Символьные устройства живы. Меняется реализация ибо разработчики сегодня любят (или их заставляют) многоуровневые абстракции. По драйверам и устройствам FreeBSD есть одна старая книга "FreeBSD Device Drivers: A Guide for the Intrepid 1st Edition" (2012). Далее есть книга по ядру FreeBSD - еще более старая. В мире Linux дело получше, но тоже не идеальное. Есть тексты ядра и драйверов - изучайте. Совет - заменить ISA на PCI - не предлагаю - тут вы сами решаете что можете. Как-то так.


    сообщить модератору +/ответить
Накидывание пикселей на fltk, !*! Anonimooum, (Процессы, Треды, RPC) 29-Мрт-21, 20:30  [ | | | ] [линейный вид] [смотреть все]
Привет!

Помогите, пожалуйста, накидать пикселей на fltk. Нужно нарисовать простое
отображение массива, где каждое значение равно точке на экране. Можете
подсказать как это попиксильно (можно и не попикслельно) сделать?

Английский очень туг, а на русском ничего про накидывание пикселей найти не
смог, сказали только попиксельно не рисовать, поскольку это не оптимизированно.
А как тогда рисовать?

Помогить, пожалуйста.

Что не так c noreturn функцией?, !*! Павел Отредиез, (C/C++) 22-Фев-21, 12:22  [ | | | ] [линейный вид] [смотреть все]
_exit.c:

#include <sys/types.h>
#include <sys/syscall.h>

void __syscall(quad_t n, ...);

void _exit(int status)
{
    __syscall(SYS_exit, status);
}



$ cc -c -Wall _exit.c
_exit.c:31:1: warning: function declared 'noreturn' should not return
      [-Winvalid-noreturn]
}
^
1 warning generated.

Вроде функция вызывает другую noreturn функцию, предупреждений быть не должно, а есть... Я не понимаю почему, помогите плиз.

Как выкачать определенный pack-файл с Git-репозитария?, !*! xintrea, (Контроль версий, Git, SVN, Bazaar, Mercurial) 23-Фев-21, 19:33  [ | | | ] [линейный вид] [смотреть все]
Сижу сейчас на мобильном интернете.

У меня в локальной копии репозитария оказался поломанный pack-файл. Я бы мог перевыкачать весь репозитарий, но размер репозитария несколько гигабайт.

Я знаю точно название pack-файла, и мне надо выкачать только его:


.git/objects/pack/pack-dd181d6ed4ebbcf10347fb0908a2f644ef40b993.pack

Вопрос: как это сделать? Репозитарий на Гитхабе.

Смещение контура матрицы. Алгоритм  (развлекательная задача), !*! dcc0, (PHP) 21-Фев-21, 16:21  [ | | | ] [линейный вид] [смотреть все]
Доброго!
Смотрел способы транспонирования матриц.
И возникла такая мысль: как минимальными средствами сдвинуть только контур (пусть будет квадтратной) матрицы. Например,  на  1 позицию, или последовательно на несколько позиций (в цикле).
Конутром матрицы считается:

1) Верхняя строка
2) Правый столбец  
3) Нижняя строка
4) Левый столбец
Относительно пользователя, глядящего в экран :)

Пока получился такой алгоритм: сохранить контур в отельном массиве - contour.
1) Циклически сдвинуть на 1 позицию  массив contour.
2) Переписать строки и столбцы в матрице.

Для матрицы размером 3*3, получается так:


<?php

        /*Циклическое смещение контура на единицу*/    
        
        
        /*Матрица*/            
        $matrix[0]=array( 1,1,1);
        $matrix[1]=array( 2,2,2);
        $matrix[2]=array( 3,3,3);
    
        /*Контур  матрицы */
        $contour=array(1,1,1,2,3,3,3,2);
    
    
    for ($j=0; $j < 8; $j++)
    
    
    {        
            
        /*Сдвигаем массив*/    
        $temp=array_pop($contour);
        array_unshift($contour, $temp);
        
        /*Смещение верхней и правой границы*/
        foreach ($matrix[0] as $k => $value)
        {
        $matrix[0][$k]=$contour[$k];    
        $matrix[$k][2]=$contour[$k+2];
        }
        
        /*Смещение нижней границы*/
        $x=3;
        for ($i=0; $i < 3; $i++)
        $matrix[2][--$x]=$contour[$i+4];
        
        /*Смещение левой границы*/
        $x=2;
        for ( $i=0; $i < 1; $i++)                 
        $matrix[--$x][0]=$contour[$i+7];
        
        
        /*Печатаем*/
        print '<br/>';
        print_r($matrix[0]);
        print '<br/>';
        print_r($matrix[1]);
        print '<br/>';
        print_r($matrix[2]);
        print '<br/>';
        print_r($matrix[3]);
        print '<br/>';
        print '<br/>';
        print '<br/>';
}
?>



  • Ух мать, это тебе в первый класс по каэс 50 Потом приходи с вопросом - объясню , !*! Аноним (-), 10:52 , 22-Фев-21 (1)
    > Доброго!

    Ух мать, это тебе в первый класс по каэс 50. Потом приходи с вопросом - объясню как оптимально.

    сообщить модератору +/ответить
Use undeclared indentifer в emit sig(), !*! Just friend, (GUI, XWindow, Qt, GTK) 20-Фев-21, 21:20  [ | | | ] [линейный вид] [смотреть все]
Qt 5.15
OS: Ubuntu 20.04


// foo.h
class Foo : public QObject {
    Q_OBJECT
public:
    explicit Foo();
    void init();
signals:
    void sig();
}

foo.cpp
Foo::Foo() : QObject(nullptr)
{
    ...
}

void init()
{
    ...
    emit sig();    //  Use undeclared indentifer 'sig'
}

Не могу понять в чем может быть проблема, в проекте есть подобный класс, но там такая конструкция работает.

Назначить сложную команду на yad button, !*! bicyclist56, (Shell скрипты) 10-Фев-21, 06:20  [ | | | ] [линейный вид] [смотреть все]
#! /bin/bash
# Есть работающий пример:
yad --center --borders=20 \
    --title="YAD Custom Dialog Buttons" \
    --button="Выполнить":"bash -c 'echo Yes!'" \
    --button="Exit"
# Задаю для простоты значения напрямую (на самом деле через форму yad):
HH=10
MM=30
TT="aplay /home/vvv/.local/share/sounds/timer.wav"
DD="03/10/21"
# Не создается at задача таким образом:
yad --center --borders=20 \
    --title="Запись задания" \
    --button="Выполнить":"echo $TT | at $HH:$MM $DD" \
    --button="Exit"
# И если в одну переменную:
CL="echo $TT | at $HH:$MM $DD"
# То тоже не работает:
yad --center --borders=20 \
    --title="Запись задания" \
    --button="Выполнить":"bash -c $CL" \
    --button="Exit"

Отдельной строкой успешно выполняется:
echo $TT | at $HH:$MM $DD

Вопрос: как правильно назначить эту команду на button="Выполнить"? Целый день игрался с разными кавычками, скобками и прочими спец.символами, сдался...

Что такое сети?, !*! Аноним, (Сеть, сокеты) 07-Фев-21, 18:41  [ | | | ] [линейный вид] [смотреть все]
Я только-только начинаю прогроммировать и услышал про **компьютерные сети**. В надежде понять что это такое я прочитал 200 страниц `ComputerNetworks-ATanenbaum-5thedition.pdf` и мне очень понравилось! Но я забросил дальнейшее чтение поскольку она нудновата, а у меня нет терпения.

Расскажите, пожалуйста, где можно почитать про компьютерные сети и так что б там было как их программировать и чтоб я играл с друзьями в мой тетрис!

Спасибо.

P.S. Стоит ли продолжать читать Таненбаума? Книга очень хорошая, но мною туго читается.

How to determine connection info (fd,uid,id) ?, !*! Аноним, (C/C++) 04-Фев-21, 10:06  [ | | | ] [линейный вид] [смотреть все]
По наитию использую libpcap, но с информативностью там сосвсем туго.
Можно ли не теряя удобства использования этой либы, получить хоть какую-то инфу о соединении и если можно то как ?
libtorrent скачивание фрагментов по требованию. Как сделать?, !*! rezedent12, (C/C++) 10-Сен-20, 12:28  [ | | | ] [линейный вид] [смотреть все]
Хочу сделать торрент клиент отдающий скачиваемые файлы через http. Но так что бы он скачивал только запрашиваемые части файлов. Но не только скачивал файлы, а ещё и раздавал загруженные фрагменты. Иначе я избрал бы использование btfs c nginx.
Почитал simple_client.cpp, загуглил то что можно сделать свой класс хранения. Осталось найти способ сделать выборочную загрузку частей файлов. Ну типа что бы можно было указать имя файла и с какого по какой байт его загрузить.
В самом C++ я разбираюсь плохо и мой уровень английского тоже низок. Интересует есть ли вообще такая возможность и как ей воспользоватся.
Как в Python 2.7.13 изменить INI-файл с субсекциями?, !*! xintrea, (Python) 22-Янв-21, 10:32  [ | | | ] [линейный вид] [смотреть все]
Имеется INI-файл с вот такой структурой:

...
[AC]
icon=battery-charging

[AC][DPMSControl]
idleTime=3600

[AC][HandleButtonEvents]
lidAction=64
powerButtonAction=8

[Battery]
icon=battery-060

[Battery][DPMSControl]
idleTime=300

[Battery][HandleButtonEvents]
lidAction=64
powerButtonAction=16

[LowBattery]
icon=battery-low

[LowBattery][BrightnessControl]
value=30

[LowBattery][HandleButtonEvents]
lidAction=64
powerButtonAction=16
...


Здесь видно, что HandleButtonEvents - это "субсекция", а основная секция задается перед субсекцией в той же строке. Не знаю, является ли это стандартом для INI-файлов или нет, не я этот файл создавал.

Задача - поменять значения powerButtonAction в различных субсукциях.

Пробовал достучаться до нужного значения так (хотя бы считать):


import ConfigParser
config=ConfigParser.ConfigParser()
config.read('$fileName')

print( config.get('AC][HandleButtonEvents', 'powerButtonAction' ) )


Но возникает ошибка:

      "Traceback (most recent call last):",
      "  File \"<stdin>\", line 5, in <module>",
      "  File \"/usr/lib/python2.7/ConfigParser.py\", line 607, in get",
      "    raise NoSectionError(section)",
      "ConfigParser.NoSectionError: No section: 'AC][HandleButtonEvents'"

Вопрос: как работать с такими файлами?

UPD: При необходимости могу поставить Python 3.5.3, если это будет нужно для решения.

  • AC AC DPMSControl AC HandleButtonEvents в чем проблема построить дерево, уч, !*! AnonymPatient (?), 11:47 , 22-Янв-21 (1)
    > Имеется INI-файл с вот такой структурой:
    >

    [AC]
    [AC][DPMSControl]
    [AC][HandleButtonEvents]
    в чем проблема построить дерево, учитывая тараканы разработчиков источникa/вeндорa/.. ?
    AC
    AC.DPMSControl
    AC.HandleButtonEvents

    > ...
    > Вопрос: как работать с такими файлами?

    Просто вручную - домалевать свой парсер на том же питоне.


    > UPD: При необходимости могу поставить Python 3.5.3, если это будет нужно для
    > решения.

    Tensorflow и прочий ИИ/ML здесь не поможет

    сообщить модератору +/ответить
процедура поиска сигналов и формирования кода завершения, !*! Bazik, (Shell скрипты) 06-Дек-20, 22:40  [ | | | ] [линейный вид] [смотреть все]
Уважаемые форумчане, добрый день!

Я новичок в направлении shell программирования и прошу помощи в написании shell-процедуры следующего типа:

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

Если можно, то с небольшими комментами, если не затруднит.

Буду рад любой помощи.

Спасибо!

Как в SED обработать диапазон строк?, !*! xintrea, (Shell скрипты) 22-Янв-21, 12:24  [ | | | ] [линейный вид] [смотреть все]
Есть такой текст:

...
[AC]
icon=battery-charging

[AC][DPMSControl]
idleTime=3600

[AC][HandleButtonEvents]
lidAction=64
powerButtonAction=8

[Battery]
icon=battery-060

[Battery][DPMSControl]
idleTime=300

[Battery][HandleButtonEvents]
lidAction=64
powerButtonAction=16

[LowBattery]
icon=battery-low

[LowBattery][BrightnessControl]
value=30

[LowBattery][HandleButtonEvents]
lidAction=64
powerButtonAction=16
...


Я хочу обработать диапазон строк между:

[AC][HandleButtonEvents]
...
[.*

В этом диапазоне надо изменить значение powerButtonActions.

Я пытаюсь сделать так:


cat f.txt | sed /\[AC\]\[HandleButtonEvents\]/,/\[.*/s/powerButtonAction\s*=\s*.*/powerButtonAction=125/

Но получаю ошибку:

> sed: -e выражение #1, символ 81: незавершенное адресное регулярное выражение

Вопрос: как правильно написать эту команду?

Посоветуйте что-нибудь быстрое иудобное для хранения пар текста, !*! Аноним, (Python) 15-Янв-21, 08:32  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте.

Нужно искать текст (в пределах 1 кб наверно) и возвращать из базы соответствующий ему другой текст (ещё несколько кб) если тот найден, в один поток одному пользователю. Хранится всё будет в файле на диске. Я собирался взять tokyocabinet, но у него биндинги что-то не очень живые.

Желательно ещё иметь какое-нибудь разделение на категории, ну либо хранить категории в раздельных файлах но тогда доступ к куче файлов должен быть быстрый. Поиск должен быть максимально быстрым -пользователь и так ждёт слишком долго. Запись можно корутиной кидать, нормально будет я думаю.

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

Спасибо.

sed теряет кавычки и не хочет  работать, !*! Аноним, (Shell скрипты) 30-Дек-20, 10:37  [ | | | ] [линейный вид] [смотреть все]
Здравствуйте, подскажите, спасибо. GNU sed только -- остальные исполнение не поддерживают, по-моему. Типичное применение это скормить совпадения date.

echo 'value1="111" value2="222.ext" value3="333" otherdata' | sed -e 's/\(.*\)"\(.*\)\(\.ext\)"\(.*\)/echo 1:"\1" 2:"\2" 3:"\3" 4:"\4"/e'

Нас интересует value2 и им мы будем оперировать, необходимо чтобы остальные сроки были переданы в скрипт без подобных модификаций навроде исчезающего содержимого. А то всё в кашу превращается.

  • Я перебрал наверное все известные мне варианты экранирования кавычек и нашёл в , !*! Аноним (1), 11:17 , 30-Дек-20 (1)
    Я перебрал наверное все известные мне варианты экранирования кавычек (и нашёл в поисковой системе некоторые странные). Ничего не получается.
    сообщить модератору +/ответить
  • чего получиться-то должно Или мы по каше должны догадаться предположу, что где-, !*! Аноним (2), 12:14 , 30-Дек-20 (2)
    > Нас интересует value2 и им мы будем оперировать
    > А то всё в кашу превращается.

    чего получиться-то должно? Или мы по каше должны догадаться?
    предположу, что где-то должно быть

    \([^"]*\)

    сообщить модератору +/ответить
  • Господа студиозусы, вы слегка достали Уже третий раз за месяц один и тот же воп, !*! ACCA (ok), 12:34 , 30-Дек-20 (5)
    Господа студиозусы, вы слегка достали. Уже третий раз за месяц один и тот же вопрос.

    У тебя стандартная задача разобрать хэш { key=value }. Ну так и разбирай его с помощью правильного инструмента. Исходный поток [чем-нибудь] преобразуешь в правильный JSON, потом разбираешь JSON:

    echo '{ "value1"="111", "value2"="222.ext", "value3"="333" }' | tr = : | jq .value2

    Надеюсь, ты догадаешься, как добавить недостающие запятые и кавычки, где нужно.


    сообщить модератору +/ответить
  • Вам данные value2 с содержимым в двойных кавычках нужно убрать, остальное о, !*! bagas (ok), 15:29 , 30-Дек-20 (13)
    > Здравствуйте, подскажите, спасибо. GNU sed только -- остальные исполнение не поддерживают,
    > по-моему. Типичное применение это скормить совпадения date.
    >
    echo 'value1="111" value2="222.ext" value3="333" otherdata' | sed -e 's/\(.*\)"\(.*\)\(\.ext\)"\(.*\)/echo 
    > 1:"\1" 2:"\2" 3:"\3" 4:"\4"/e'

    > Нас интересует value2 и им мы будем оперировать, необходимо чтобы остальные сроки
    > были переданы в скрипт без подобных модификаций навроде исчезающего содержимого. А
    > то всё в кашу превращается.

    Вам данные (value2="") с содержимым в двойных кавычках нужно убрать, остальное оставить?

    сообщить модератору +/ответить
  • Не уверен что правильно понял задачу, но возможно это как-то поможет code ech, !*! Аноним (29), 18:34 , 03-Янв-21 (29)
    Не уверен что правильно понял задачу, но возможно это как-то поможет:

    $ echo -e 'value1="111" value2="222.ext" value3="333" otherdata\nvalue1="1" value2="2" value3="3" otherdata' | sed -e 's/"/\\"/g;s/\(.*\)\\"\(.*\)\(\.ext\)\\"\(.*\)/echo \1\\"\2\3\\"\4/e;s/\\"/\"/g'

    value1="111" value2="222.ext" value3="333" otherdata
    value1="1" value2="2" value3="3" otherdata
    сообщить модератору +/ответить


sed/grep - заменить вхождение строки, !*! Аноним, (Shell скрипты) 29-Дек-20, 10:55  [ | | | ] [линейный вид] [смотреть все]
Добрый день. Мне нужно заменить все вхождения строки в файле, но только в тех случаях, когда некоторая последовательность в строке не найдена. Возможно ли это осуществить в sed, как будет выглядеть регулярное выражение? Спасибо.

Также я пытался подобрать подходящий паттерн для grep, тоже ничего не получилось. Мне нужны все совпадения строк, только если строка не включает в себя другую строку ("решено" цепочкой из 2 grep).

В общем-то, я озаботился из-за того, что это достаточно частая задача. И я не совсем понимаю, как её решить в sed.

Почему НЕ всегда срабатывает поиск подстроки?, !*! Владимир, (Perl) 11-Авг-20, 10:05  [ | | | ] [линейный вид] [смотреть все]
Написал скрипт по поиску дублирующих ссылок в двух htm файлах - берется ссылка из первого файла и ищется во втором эта найденная в первом.
Если не находится, то в результирующий файл записывается строка из первого файла из которой выделена искомая подстрока.
По задумке в выходном файле должны остаться только те строки из первого файла, которые содержат ссылки отсутствующие во втором файле.
На практике же результат получился частичный - да часть отсеивается, но есть повторяющиеся.
И я не могу понять почему это происходит. Я сравнивал эти оставшиеся строки с помощью текстового редактора (Far) - строки идентичны, а m// не находит их во втором файле.

Вот мой скрипт:
my $NameFile = shift @ARGV;
open (FH, "<$NameFile") or die ("Cannot open file \"$NameFile\"");
my @array=<FH>;
close FH;

$NameFile = shift @ARGV;
open (FH, "<$NameFile") or die ("Cannot open file \"$NameFile\"");
my @array2=<FH>;
close FH;

open (OUT, ">Test.tmp") or die ("Cannot open file Test.tmp");

my ($m,$n,$f)=0;
my $p;
foreach my $r (@array) {
  if($r=~/href="(.+?)"/)#ищем строку, содержащую ссылку
  {
    $m++;
    $p=$1;
    print "$p\n";
    $f=0;
    foreach (@array2)#ищем строку, содержащую ранее найденную ссылку
    {
      if(/$p/) {print "$_\n"; $f=1;}
    }
    if($f==0)#если нет дублирующих ссылок
    {
      print OUT $r;
      $n++;
    }
  }
}

close OUT;
print "\nВсего ссылок в первом файле = $m, из них отсутствующих во втором файле = $n";

Подскажите, пожалуйста, что я не так сделал.

Скрипты CI/CD - какие особенности лицензирования?, !*! And, (Разное) 11-Апр-20, 22:20  [ | | | ] [линейный вид] [смотреть все]
Не знаю, на какой форум приткнуть вопрос. )

Конфигурации, изображения, программный код лицензируются на разных условиях.

Конфигурации, например, в разбирательствах иной раз оказывались как нелицензируемое.

На изображения - Creative Commons.

А вот если есть комплект скриптов CI\CD и настроек, из которого рождается развесистая система сервисов. Этот комплект обозначить как лицензированный под лицензией для программного кода - ничтожное действие, или применимо?

Скрипты систем управления конфигурациями - это ведь типа программный код, своеобразный? Как лицензируется?

exec 7<&0 </dev/null 6>&1, !*! Аноним, (Shell скрипты) 29-Сен-20, 10:18  [ | | | ] [линейный вид] [смотреть все]

#!/bin/sh
...
exec 7<&0 </dev/null 6>&1
...

Не могу распарсить. Помогите.

 
Пометить прочитанным Создать тему
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру