LINUX.ORG.RU

Форум

Активные теги:

 , , , , , , , , , , , , , , , , , , ,

поиск текста по регэскпу с изменением регистра символов

Форум — General

коротко: нужно найти по регэкспу куски текста и в них заменить буквы (кириллица) на заглавные.

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

"(^|[\.?\!]( -|\")? )[а-я]"

ну, есть нюанс, что после троеточия может как продолжаться текущее предложение, так и начинаться новое, но тут все равно человек нужен. всякие скобки - туда же.
в общем, найти-то нашли, а вот как теперь только совпадающие фрагменты - convert, туды его в качель, to uppercase, так сказать?
наверняка должно быть как-то очень просто, типа однострочника на перле (не того!), но я че-то не умею))

 

PerdunJamesBond ()

Есть ли такие области применения Google Docs, где его нельзя заменить на Git?

Форум — Talks

Всем здравствуйте!

Недавно сидел в одной соцсети, в писательском сообществе, в котором есть правило – посты-ссылки должны вести на Imgur или на Google Docs. Сам лично Google Docs не люблю, для версионирования и совместной работы предпочитаю Git по множеству причин, таких, как:

  • Git работает с любыми форматами (больше возможностей, правда, с текстовыми файлами, но отслеживает версии в любых), Google Docs – только с определёнными
  • Google Docs привязан к аккаунту Google, Git использует GnuPG для установления авторства коммитов (хотя можно и без подписи). Аккаунт Google у меня только недавно появился.
  • Git-репозиторий можно скопировать вместе со всей историей изменений, и перенести на другой сервер
  • Git поддерживает ветвление репозитория. Если нет уверенности при внесении изменений (добавлении функций в программу, написании глав романа), можно создать альтернативную ветвь, где и реализовать изменения, потом либо соединить ветви, либо отбросить лишние. В Google Docs я похожих функций не нашёл.

Одним из преимуществ Google Docs является редактирование документа в браузере. Такая же функция есть, например, и в GitHub, для текстовых и Markdown-документов.

Видел я в Интернете предложения использовать Google Docs для совместной работы, например, над школьными проектами. Но, сколько я помню, мы в старших классах при работе использовали приватные Git-репозитории на BitBucket (раньше просто пересылали друг другу сделанную работу).

 , , , ,

ShiningRiver ()

альтернатива mdadm-raid1 для зеркала из двух дисков

Форум — General

привет, лор. есть (были) два диска по террабайту, на них по два раздела - маленький для бэкапов и большой (все остальное место) под файлопомойку (музыка, кинцо, фоточге, вот это все). соответственно, собраны два софт-рейд-зеркала, из sd[bc]1 и sd[bc]2.
вся эта беда рабоает много лет как, пережила замену одного диска на более объемный (было 500+1000, стало 2x1000) с расширением объема массива и всем прочим. на днях скопытился один из дисков (ну, по несколько лет круглосуточно работать - неплохой результат), и вот я задумался...
чем не устраивает md-raid? во-первых (и это самое бесячее), после ошибок чтения почему-то отваливается один из дисков, а после добавления его обратно - он начинает ресинкать весь массив на 900+ гигов, что как-то не очень. так и должно быть, или надо что-то колдовать?
во-вторых, когда кому-то из дисков подходит срок и начинаются ошибки, случается так, что smbd (за другими вроде не замечал такого) повисает в D-state, соответственно система выключается только по питанию, никакой shutdown/reboot не канает, т.к. зависший демон не может сдохнуть.

еще вводные данные: диски sata на 2.5", один стоит внутри (это маленькая тачка с пассивным охлаждением), второй в «коробочке» висит на юсб (там только одно гнездо под диск, доп. sata-разъемов нѣтъ).
99+% времени все это хозяйство крутится в режиме чтения, да и то не постоянно (в основном я музло оттуда слушаю, да торренты раздаются, там активность не ахти какая).
система - debian.

отсюда вопрос: а какие сейчас есть альтернативы софт-рейду? в ведре есть какой-то dm-mirror, как он из себя? краем уха слышал про zfs, но он, типа, требователен к ресурсам, а там гиг памяти и атом вместо проца. в lvm еще есть какой-то mirror, про него кто может сказать?

да, сейчас у меня есть половинка рейда из оставшегося живого диска и новый чистый диск. т.е. если собирать что-то новое - оно должно уметь собираться в «инвалидском» режиме без второй половинки, которая добавится позже, после копирования данных.
или mdadm - самые нормальный вариант из всех, и нечего иметь себе мозг?

 

PerdunJamesBond ()

Новое изобретение Илона Маска: красные труселя

Форум — Talks

https://www.ixbt.com/news/2020/07/06/tesla-vypustila-shorty-za-69-dollarov-i-...


Илон Маск умеет не только удивлять, но и шутить. Вчера на официальном сайте Tesla неожиданно появился новый продукт — шорты. Обычные шорты под названием Tesla Short Shorts стоимостью в 69,420 доллара.

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

Но суть этих шорт на самом деле сложнее, чем может показаться на первый взгляд. Дело в том, что шорты Маск пообещал выпустить после того, как на днях акции Tesla взлетели до отметки в 1200 долларов, а капитализация компания превысила 200 млрд долларов. Тогда, как обычно, многие подумали, что это шутка. Как видим, нет.

Шорты в данном случае являются некой насмешкой над людьми, которые по отношению к Tesla придерживаются стратегии короткой позиции, то есть шортят. И таких людей как раз и называют «shorts». Шортить — кроме прочего, означает играть на понижение. И, как мы видим, в случае с Tesla это не самая верная стратегия игры на бирже.

Возвращаясь к новым шортам компании, несмотря на цену, продукт явно вызвал ажиотаж среди пользователей, так как через какое-то время после анонса сайт Tesla перестал работать.

 ,

te111011010 ()

Как это объяснить?

Форум — General

g++ -lGL -lGLEW -lglfw -lpthread temp.cpp

/tmp/ccoXvv4n.o: In function `main':
temp.cpp:(.text+0x10): undefined reference to `glfwInit'
temp.cpp:(.text+0x1f): undefined reference to `glfwWindowHint'
temp.cpp:(.text+0x2e): undefined reference to `glfwWindowHint'
temp.cpp:(.text+0x3d): undefined reference to `glfwWindowHint'
temp.cpp:(.text+0x5e): undefined reference to `glfwCreateWindow'
temp.cpp:(.text+0x94): undefined reference to `glfwMakeContextCurrent'
temp.cpp:(.text+0x9a): undefined reference to `glewExperimental'

ldconfig -p | grep -i "glew\|glfw\|gl.so"

        libglfw.so.3 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libglfw.so.3
        libglfw.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libglfw.so
        libOpenGL.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libOpenGL.so.0
        libOpenGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libOpenGL.so
        libGLEW.so.2.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLEW.so.2.0
        libGLEW.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLEW.so
        libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so.1
        libGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so

ld --verbose | grep -o "SEARCH_DIR(\"=/usr/lib/x86_64-linux-gnu\")"

SEARCH_DIR("=/usr/lib/x86_64-linux-gnu")

objdump -T /usr/lib/x86_64-linux-gnu/libglfw.so | grep glfwInit

0000000000005b10 g    DF .text  000000000000007f  Base        glfwInit

Если поменять g++ на clang++-8, то всё компилируется

kde neon

 ,

yachmenka ()

изменить значение после вывода потока данных

Форум — General

привет подскажите, можно ли сделать одной строкой, и как, следущее:

sensors | grep Core | awk -F'[:+°]' '{if(max==""){max=$3}; if(max<$3) {max=$3};} END {print max}' | прибавить к конечному результату 5

смысл в том, что sensors брешет на 5 градусов

 , ,

man8531 ()

Пользователь «odalist» не существует?

Форум — Linux-org-ru

?

 

grovekeeper ()

Telegram bot не ловит отправленные изображения

Форум — General

Использую php враппер: https://github.com/TelegramBot/Api
Пытаюсь поймать отправленные в чате изображения и получить их ид, но приходит пустой массив:

<?php
require_once "vendor/autoload.php";

try {

$bot = new \TelegramBot\Api\Client('TOKEN');

$bot->on(function($update) use ($bot){
$bot->sendMessage($update->getMessage()->getChat()->getId(),'value: '.json_encode(end($update->getMessage()->getPhoto())->getFileId()),null,false,$update->getMessage()->getMessageId(),null,false);

}, function($update){
        return true;
    });
    
    $bot->run();

} catch (\TelegramBot\Api\Exception $e) {
    $e->getMessage();
}

 , ,

shiva ()

Ищем специалиста для подготовки ПО для газовых счетчиков G10 Itron

Форум — Job

Компания «СтримГаз» приглашает на работу программиста, который сможете подготовить ПО для управления газовым счетчиком G10 такого типа: http://stream-gas.ru/schetchiki-gaza/bytovye-diafragmennye-schetchiki/itron-g10-g16-g25-g40-germaniya/

Задача:

  • разработать ПО;
  • внедрить;
  • взять на обслуживание. Контакты: +7 (495) 797-80-30 +7 (916) 686-07-39

 ,

Gettos ()

Не получается собрать ПОДПИСАННУЮ релизную версию под Андроид

Форум — Development

В общем, собираю таким образом:

  1. Подключаю свое андроид устройство
  2. Разворачиваю приложение

Если разворачиваю debug версию - все ок. Разворачивается и работает на смартфоне. Если разворачиваю релизную версию не подписанную, то все так же хорошо. Но стоит попытаться развернуть приложение с галочкой «подписывание пакета» - выдает ошибку сборки

Error: A JNI error has occurred, please check your installation and try again Exception in thread «main» java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495) apksigner command failed. – Run with –verbose for more information.[

Процесс «/android_armv7/bin/androiddeployqt» завершился с кодом 15. Ошибка при сборке/развёртывании проекта (комплект: Android для armeabi-v7a (Clang Qt 5.13.2 for Android ARMv7)) Во время выполнения этапа «Сборка Android APK»

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

 , ,

boganet9993 ()

i2p + privoxy как сделать?

Форум — Security

Можете скинуть гайд\конфиг как пропустить весь трафик через i2p?

 ,

xillion ()

.xinitrc - почему не могу открыть firefox на весь монитор, а chrome -могу?

Форум — General

У меня стоит xorg и браузер, т.е. desktop environment нет (потому что железо хилое). запускаю браузер на весь экран, создав файл .xinirc :

xrandr –output VGA1 –mode 1366х768 google-chrome (или firefox)

так вот хром открывается на весь экран, а firefox примерно на 80%. Как исправить?

 , , , ,

Tvorog ()

Libreoffice в Astra Linux сохранить как

Форум — General

Уважаемые форумчане. Нужен совет куда копать: В Astra Linux имеется LibreOffice при попытке сохранить файл в окне не отображаются ярлыки (т.е. отображает файлы только того формата который понимает LibreOffice), т.е. нет возможности перехода по ярлыку при сохранении. Что то подсказывает что нужно либо fly-fm ковырять либо непосредственно в либре что-то подкручивать (пробовал libre скормить расшрение .desktop - ругается и не добавляет) может кто сталкивался с подобной проблемой?

 , ,

eko ()

Zabbix, мигрированные данных

Форум — Admin

Добрый день. Есть работа с zabbix, возможно ли с одного zabbix сервера переносить данные на другой zabbix сервер,каждые скажем пять минут. То есть, на одном сервере снимается статистика с порта коммутатора cisco по количество данных с построением графика, можно ли это переносить в авто режиме на другой zabbix сервер. Там это все в XML таблицах, как их скачивать через командную строку и загружать. Несколько систем, хочется смотреть все на одном, все другие варианты не подходят.

 , ,

Zub80 ()

Вывод нужных столбцов в консоле

Форум — General

Ребят подскажите, не могу сделать простое действие. Есть команда вывода всех контейнеров docker ps -a, но все колонки мне не нужны, да они и не умещаются на экран. А вот как вывести только нужные колонки? Вроде есть команды cut и awk. Но нижние колонки ломаются. К примеру docker ps -a | awk {‘print $6,$7,$8’} выводит нужные колонки, но внизу вся информация ломается, выводится какая то ахинея. Может кто подскажет?

 

Andrei_IW ()

SoftEther Vpn Server исчезли юзеры

Форум — General

Здравствуйте. Упал сервер с SoftEther vpn, но после старта все успешно запустилось и клиенты передпоключились.

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

Начал проводить эксперименты, выявил некоторую закономерность.

  • Если одновременно создать пользователя с авторизацией через сертификат и другого пользователя через пароль. Подождать около минуты, и остановить сервер. После запуска останется только пользователь созданный через сертификат. Делал копии конфигов, до остановки, во время и после запуска сервера. Выяснил, что пользовтель исчезает из конфига, после того, как сервер запустился.
  • Если подождать от 3-5 минут после создания и перед рестартом сервиса, то все пользователи остаются.

Подскажите, были ли у вас подобные ситуации, в чем была проблема и как вы их решали?

Отрывок конфига, который может быть полезен.

uint AutoDeleteCheckIntervalSecs 300
uint AutoSaveConfigSpan 10
bool BackupConfigOnlyWhenModified true
string CipherName RC4-MD5
uint CurrentBuild 9634

 , ,

tirenka ()

Новый кодек H.266, теперь на 50% более эффективным сжатием

Форум — Talks

https://appleinsider.com/articles/20/07/06/new-h266-vcc-codec-up-to-50-more-e...

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

 

Harald ()

Кто-нибудь использует Qubes?

Форум — Talks

Интересно мнение об этом дистрибутиве тех, кто его использует ежедневно, в качестве хост системы.

 

dnb ()

Как сделать файл, содержимое которого зависит от читающего юзера?

Форум — General

На одном шаред-хостинге у каждого юзера путь к файлам своего сайтика начинается с /home/www/yourdomain/

readlink говорит, что:
/home - это ссылка на папку /srv/home/home/,
/srv/home/home - это ссылка на домашнюю папку текущего юзера (путь зависит от имени юзера).

Получается, что разные юзеры читают один и тот же линк /srv/home/home, но попадают по этому линку в разные папки.
Я проверил через [-с /srv/home/home] - это обычный линк на папку, а не девайс.
Неужели в линуксе есть стандартный способ нарушить консистентность файловой системы?
Они как-то монтируют в путь /srv/home/ каждому юзеру свою папку, в которой лежит его персональный симлинк?
Как такое можно сделать?

 

Egor_ ()

DNS для мейл-сервера с failover

Форум — Admin

привет,

есть мейл-сервер, хочу сделать для него failover. Не мгновенный, пара минут простоя ок, главное чтоб автоматический. Встал вопрос на счет DNS-записей.

Подскажите, логично ли выглядит такая схема (VIP перекидывается на активную ноду по чеку tcp 25 open, mail - ip основной ноды, fail - ip failover-ноды):

MX:
example.com → mail.example.com (pref 10)
example.com → mail-primary.example.com (pref 20)
example.com → mail-backup.example.com (pref 30)

A:
mail.example.com → VIP
mail-primary.example.com → MAIL
mail-backup.example.com → FAIL

PTR:
VIP → mail.example.com
MAIL → mail-primary.example.com
FAIL → mail-backup.example.com

TXT/SPF - ip:VIP ip:MAIL ip:FAIL -all

CallerID - <r>VIP</r> <r>MAIL</r> <r>FAIL</r>

Небольшое уточнение - VIP работает только на вход. На выход нода использует свой собственный внешний IP

 ,

upcFrost ()

RSS подписка на новые темы