Задать вопрос
  • Обрезать строки по шаблону?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Файл test.txt со строками:
    какой-то текст с пробелами /search?query=текст_запроса&page=56565 какой-то текст с пробелами
    какой-то текст с пробелами /search?query=текст_запроса&page=100500 какой-то текст с пробелами
    какой-то текст с пробелами /search?query=979879879&param=запроса&page=100500 какой-то текст с пробелами
    other line
    какой-то текст с пробелами /search?query=4535345&page=100500 какой-то текст с пробелами 5465465464654

    И команда в терминале
    cat test.txt | grep '/search' | sed -r 's/^.+ (\/search[^[:space:]]+) .+$/\1/g'

    Результат
    /search?query=текст_запроса&page=56565
    /search?query=текст_запроса&page=100500
    /search?query=979879879&param=запроса&page=100500
    /search?query=4535345&page=100500
    Ответ написан
    Комментировать
  • Готовая сборка Web сервер на Linux (без мусора)?

    opium
    @opium
    Просто люблю качественно работать
    А зачем сборка?
    Просто ставьте минимальный Дебиан и на него то что вам нужно, никакого мусора не будет
    Ответ написан
    6 комментариев
  • Есть ли какой-нибудь брокер (не форекс) с адекватным веб-интерфейсом?

    norlin
    @norlin Автор вопроса
    НЕТ в природе (в РФ) брокеров с полноценным веб-интерфейсом, к сожалению.

    UPD.: финам-whotrades тоже той ещё шарашкой оказались. Неудобно, нет полноценного счёта (как следствие – нельзя перевести бумаги по ACAT). См. ниже.

    В итоге остановился всё-таки на Финаме.
    Оказалось, что для интересующих меня услуг веб-интерфейса всё равно нет (зарубежные биржы, акции + ETF – услуга "счёт ROX" у Финама).
    В отличие от БКС, открывается всё 100% онлайн (договор, при этом, есть) и быстро (открытие счёта вообще в течение 1 дня). Потом 1-5 дней на перевод средств из вашего банка. + 1 день на "зачисление" средств (если они придут после начала торговой сессии – то можно будет ими пользоваться только на следующий день).

    Беда с софтом – я так понимаю, это вообще глобальное – у всех всё заточено ТОЛЬКО под винду.

    UPDATE: Перешёл на Interactive Brokers – у них есть минимальная комиссия $10 в месяц, зато при редких операциях комиссии за операции вычитаются из этой общей минимальной. Зато плюсов море – нормальный личный кабинет, приложения для мобильных устройств, полноценный брокерский счёт, никаких посредников.
    Ответ написан
    Комментировать
  • Не работает условие по времени в bash скрипте?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Пользуйтесь timestamp, баш сравнивать даты не умеет.
    Пользуйтесь declare -i, иначе все переменные по умолчанию в баше это строка, а не число.

    опция --date позволяет указать какую дату вы хотите использовать
    date --date="2011/12/12 12:12:12"
    Monday, 12 december 2011 12:12:12 +0200

    опция +%s позволяет при помощи date вывести нужную дату в виде "секунды с 1970 года", получите целые числа, которые может сравнить bash. Простой пример:

    #!/bin/bash
    
    declare -i MYDATE1=`date --date="2011/12/12 12:12:12" +%s`
    declare -i MYDATE2=`date --date="2017/07/06 11:11:11" +%s`
    declare -i CURRDATE=`date +%s`
    
    echo $MYDATE1 $MYDATE2 $CURRDATE
    
    if [ $MYDATE1 -lt $CURRDATE -a $MYDATE2 -gt $CURRDATE ]; then
      echo "Сейчас больше чем $MYDATE1 и меньше чем $MYDATE2"
    else
      echo "не-а"
    fi
    Ответ написан
    Комментировать
  • Как вы организуете свою работу?

    paulradzkov
    @paulradzkov
    Дизайнер, верстальщик, начальник отдела UI
    Про GitHub.

    1) Любой проект, даже самый маленький начинаю в новом репозитории. Потому что:
    - мало ли что из него вырастет,
    - код в Гитхабе это бэкап, не засерается место в Дропбоксе или других облаках,
    - мгновенный поиск по коду в репозитории, актуально когда проект уже достаточно большой,
    - легче спросить совета у коллег или показать проблему, когда исходники можно посмотреть онлайн,
    - проект удобно хоронить, если он заглох, или закинуть в портфолио, если он клевый.

    2) Создал себе на Гитхабе две дополнительные организации внутри своего аккаунта.
    - «paulradzkov-forks» — для форков чужих проектов.
    - «paulradzkov-heaven» — кладбище для старых проектов, куда перемещаются все неактуальные проекты.
    Эти две дополнительные организации позволяют очистить основной аккаунт от мусора. В нем теперь только несколько актуальных проектов, в которых легко ориентироваться.

    3) Перемещаю все старые проекты из Дропбокса на Гитхаб в «paulradzkov-heaven». Проектов много, это долго, но освободилось уже несколько гигов (т.к. там кроме кода psd-исходники, архивы с инсталляторами и прочее). Место в облаках заканчивается, а на Гитхабе — резиновое.
    Это кладбище уже пригодилось, когда у меня попросили поискать исходники проекта, над которым я работал 3 или 4 года назад, а я через минуту ответил им ссылкой на нужный репозиторий. Не пришлось никуда лезть, распаковывать, искать, запаковывать, отправлять почтой или закачивать в облако.
    Повторюсь, что на Гитхабе классный поиск по исходникам: если нужно посмотреть, как что-то сделал в старом проекте, но не помнишь в каком — можно довольно быстро найти искомое без возни с архивами.

    Итого.
    Код должен лежать на Гитхабе.
    В том числе старые проекты.
    Используйте организации, чтобы рассортировать проекты, если их много.
    Порядок там, где у каждой вещи есть своё место. Придумайте себе правила порядка заранее и соблюдайте их, чтобы не тратить время на ликвидацию беспорядка.
    Ответ написан
    9 комментариев
  • Почему SVN не позволяет выполнить commit?

    pabelyakov
    @pabelyakov Автор вопроса
    Проблему удалось решить, добавив в конфигурационный файл апача в настройках доступа к svn по http следующий параметр:

    SVNAdvertiseV2Protocol off

    Возможно, кому-нибудь это решение поможет.
    Ответ написан
    Комментировать
  • Как вставить переменную в os.system?

    longclaps
    @longclaps
    [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    Тебе такая нумерация месяцев нужна? Тогда вот однострочник:
    os.system("tar cvf backup/backup_month/%d.tar.gz * && rm backup/*" % ((datetime.date.today().month - 2) % 12 + 1))
    Ответ написан
    1 комментарий
  • Как сделать архивацию файлов внутри каждой из директорий и удалить исходники?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    find /srv/sh/folder/* -maxdepth 0 -type d -exec bash -c 'cd {} && tar --remove-files -czf archive.tgz *' \;
    Ответ написан
    Комментировать
  • Как запустить bash скрипт как демон в systemd?

    Xuxicheta
    @Xuxicheta Автор вопроса
    инженер
    Решил проблему.
    Скрипт
    #!/bin/bash -
    #ссылка на интерпретатор обязательна
    
    function monitoring() {
        inotifywait -e create,delete,modify,move -mrq $1 | while read events 
        do
           echo "$(date +"%m.%d.%Y_%T")   $events"
        done
    }
    DIR="%mydir%"
    LOGFILE="%mylogfile%"
    echo "Start filesystem monitoring: Directory is $DIR, monitor logfile is $LOGFILE"
    monitoring $DIR  >> $LOGFILE &

    Сервис-файл
    [Unit]
    Description=File system Monitoring -- /root/.bin/monitor.sh
    After=local-fs.target systemd-sysctl.service systemd-modules-load.service
    
    [Service]
    Type=forking
    ExecStart=/root/.bin/monitor.sh
    EnvironmentFile=/root/monitor.cfg
    
    [Install]
    WantedBy=multi-user.target
    Ответ написан
    Комментировать
  • Как отсортировать кортеж?

    @deliro
    Я сейчас скажу прописную истину, но она, оказывается, далеко не очевидна для питон-программистов.
    Кортеж - это не "неизменяемый список". Кортеж - это структура данных. То, что кортеж умеет итерироваться - это хак, о котором даже сам Гвидо говорил.
    Как минимум, существование таких штук, как __slots__ и namedtuple должно натолкнуть на эти размышления.

    Касательно твоей задачи:
    def cmp(x):
        x = x.split('x')
        return int(x[0]) * int(x[1])
    
    sorted(SIZES, key=cmp)
    Ответ написан
    Комментировать
  • Как получить переменные BASH их TXT файла?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Записываете переменные в файл, как в обычном sh-скрипте - VAR1=foo, VAR2=bar и т. д, а в начале вашего скрипта говорите "source /path/to/varsfile", и все переменные оттуда подтягиваются.
    Ответ написан
    2 комментария
  • Как написать bash скрипт, который будет прослушивать изменения в файле?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    while true; do
        inotifywait -qq -e create,close_write,modify,move,delete $CHECK_FOLDER && $BUILD_COMMAND
    done
    Ответ написан
    5 комментариев
  • Может ли TCP соединение работать сразу с несколькими клиентами?

    @nirvimel
    TCP соединение - это сокет. Открытый сокет связывает конкретный порт на локальной машине с конкретным портом на конкретной удаленной машине (и никак иначе). Открытый сокет соединяет всегда две стороны. Не существует многосторонних сокетов. Но на одной машине может быть открыто сколько угодно сокетов.
    Ответ написан
    Комментировать
  • Как перехватить трафик одной программы?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Одна программа всегда обращается к конкретному узлу по конкретному порту также с конкретного узла и порта. Поставьте фильтры на порт и адрес.
    Ответ написан
    7 комментариев
  • Какой аналог Aircrack-ng для Ubuntu?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    sudo apt install aircrack-ng
    Ответ написан
    3 комментария
  • Что такое LOA (letter of authorisation) при переносе блока ipv6 адресов хостеру?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Все же расписано, почему вы не руководствуетесь официальными документами? Вам нужно осуществить перевод своего блока в их AS, получить письмо подтрверждение от ARIN и отправить хостеру.

    Вы будете по каждому ответу ТП вашего хостинга задавать вопрос на тостере?
    Ответ написан
    Комментировать
  • Почему в уведомлении не выводятся данные из переменной?

    @shnicel Автор вопроса
    notify-send 'VK Friend' "`curl "lnk"`"
    Ответ написан
    Комментировать
  • Всем привет, промогите разобраться с скриптом для Linux?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Банальный синтаксис. После case нет esac, после do нет done. Или это неполный скрипт? Для проверки файла вот есть такая фигня - проверяет наличие, то, что это файл (а не каталог, например) и то, что он не нулевого размера:
    check_fileread()
    {
      if [ ${#1} -ne 0 ]; then
        if [ ! -r $1 ]; then
          echo "File $1 cannot read (does not exist, access denied)"
          exit 55
         elif [ ! -s $1 ]; then
           echo "File $1 is empty (has zero size)"
           exit 56
        fi
      fi
    }
    Ответ написан
    Комментировать