• Как распарсить ответ JSON?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    всё довольно просто
    JJ="$(cat file.json)"
    words=($(echo "$JJ" | jq -r 'keys[]')) # blablaone blablatwo
    for i in ${words[*]}; do echo "$JJ" | jq -c --arg v $i '.[$v]'; done


    это на bash/jq хотя если судить по вашей истории вам нужно на C# ? но раз не уточнили то ловите и такой ответ
    Ответ написан
    Комментировать
  • Почему bash скрипт не не выполняет команду в новой вкладке?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    gnome-terminal --tab --title="newtab" -- $SHELL -c 'ls && $SHELL'

    или даже так:
    gnome-terminal --tab --title="newtab" -- $SHELL -c 'ls && sleep 5'
    Ответ написан
  • Почему не применяются настройки .bash_profile в macOS?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    bash их не увидит если я перезапущу терминал и не введу эту команду

    перезапустить терминал это к .bashrc
    .bash_profile считывается при логине(перелогине)
    Bash Startup Files
    Ответ написан
  • Как написать awk рулярку чтобы парсить цветной текст в выводе команд?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если на одной строке
    echo -e "\033[37;1;41m Красный \033[0m\n\033[37;1;43m Желтый \033[0m\n\033[37;1;42m Зелёный \033[0m"

    echo -e "\033[37;1;41m Красный \033[0m\n\033[37;1;43m Желтый \033[0m\n\033[37;1;42m Зелёный \033[0m" | awk '/\033\[37;1;41m/'


    если на нескольких строках
    echo -e "\033[37;1;41m Крас\nный \033[0m\n\033[37;1;43m Желтый \033[0m\n\033[37;1;42m Зелёный \033[0m"

    echo -e "\033[37;1;41m Крас\nный \033[0m\n\033[37;1;43m Желтый \033[0m\n\033[37;1;42m Зелёный \033[0m" | awk '/\033\[37;1;41m/,/\033\[0m/'


    в общем виде примерно так:
    behave | awk '/код начала цвета/,/код конца цвета/'
    Ответ написан
    5 комментариев
  • Линуксовые рассылатели мейлов?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    в принципе тут ничего такого сложного нету
    1)
    линуксовая тулза, подсоединяющаяся к почтовому серверу по SMTP

    берем простенький SMTP-клиент, к примеру, msmtp и настраиваем его на нужный SMTP-сервер, займёт минут 5 в простом варианте
    2)
    рассылающая такие письма
    Есть список из сотни имён и мейлов, по ним надо разослать шаблонизированный текст (не спам)

    для этого можно написать простенький скрипт который с помощью нашего ранее установленного и настроенного msmtp будет рассылать письма по списку(list), сам список при желании можно вынести и в отдельный файл, а также уменьшить или добавить в него переменные для шаблона разделяя их с помощью ";"
    самый простой вариант скрипта:
    #!/usr/bin/env bash
    
    From="username@domain.com"
    
    list='username1@domain1.com;Name1
    username2@domain2.com;Name2
    username3@domain3.com;Name3'
    
    for i in $list; do
    eval $(echo "$i" |awk -F';' '{print "To="$1";Name="$2}')
    template="To: ${To}
    From: ${From}
    Subject: A test
    
    Hello ${Name}.
    "
    	echo -n -e "$template" | msmtp -a default "${To}"
    	echo "отправленно $To"
    done

    где значение From и default (из конфига msmtp) должны совпадать
    Ответ написан
    Комментировать
  • Как в gnome 3.3 добавить значки на рабочий стол?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    установить расширение через GNOME Shell extensions
    https://extensions.gnome.org/extension/1465/deskto...
    или из реп если там есть, например для арча из аур
    https://aur.archlinux.org/packages/gnome-shell-ext...
    или всё ручками
    https://gitlab.gnome.org/World/ShellExtensions/des...
    Ответ написан
    Комментировать
  • Как с помощью bash-скрипта выполнить ping в момент потери интернет соединения?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    для скриптов и мас пинга проще использовать утилиту fping
    fping -l IP1 IP2 IP3 IP4
    для перенаправления вывода в файл вместе с ошибками:
    fping -l IP1 IP2 IP3 IP4 &> ip.log.txt

    также для наглядного мониторинга есть утилита mtr
    mtr 8.8.8.8
    echo -e "IP1\nIP2\nIP3\nIP4" | mtr -rw -F - > mtr-report

    обрываем по Ctrl+c либо добавляем в команду ключ регулирующий количество запросов, например -с5

    пример однострочника:
    while fping -q 8.8.8.8 ; do echo "Ok";sleep 2; done && echo "Связь пропала" && fping -l IP1 IP2 IP3 IP4 &> ip.log.txt

    запускаем в терминале когда сеть работает нормально и как только пропадёт пинг к гугловскому днс 8.8.8.8 (можно использовать другой адрес) то автоматом запустится fping по четырем адресам, как наберется статистика обрываем команду вручную Ctrl+c или в другом терминале прибить данный процесс, все данные сохранятся в файле ip.log.txt что будет лежать рядом со скриптом
    Ответ написан
    Комментировать
  • Как правильно установить Arch Linux с i3wm?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Как правильно установить Arch Linux с i3wm?

    сначала ставите базовую систему Арч потом накатываете сверху i3/i3-gaps
    Никогда не ставил арч

    тогда для начала нужно пройти первый квест по сборке конструктора - Installation guide
    с тайтловым оконным менеджером i3wm, мне как программисту удобнее на таком думаю.

    программисту удобнее всего в хорошем редакторе кода
    хотя настройка действительно для вас будет проще(чем стандартному юзеру) так как всё настраивается через конфиг
    Нигде не могу найти внятную инструкцию с установкой arch с i3wm

    в философии арча это две отдельные сущности, а не как в большинства дистрибутивов когда идёт заточка под конкретную оболочку
    принцип примерно такой: ставите базовую систему арча в итоге получите голую консоль, затем уже сверху накатываете любую графическую оболочку WM/DE, после чего эту самую оболочку настраиваете по своему вкусу.
    Для i3 установку и настройку смотрите на arhcwiki, параллельно если поначалу трудно сориентироваться то можно глянуть(только свежие) описание на просторах интернета, например Установка и настройка i3wm
    Ответ написан
    Комментировать
  • Изменение приветствия терминала?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    посмотрите это видео где описано как делать подобные вещи
    Ответ написан
    Комментировать
  • Можно ли сделать так, что при запуске терминала будет появляться определенная надпись? Если да, то как?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если нужно чтобы постоянно в командной строке терминала выводилась информация то редактируйте PS1 в файле ~/.bashrc
    есть даже специальный сайт где можно это всё сгенерировать bashrcgenerator.com
    более подробно также описано в арчвике

    если же вам нужно единожды выводит информацию при входе в командную оболочку то просто допишите в начале файла ~/.bashrc и/или ~/.bash_profile нужное приветствие, например
    echo "PARROT TERMINAL"
    или
    figlet "PARROT TERMINAL"
    программу figlet естественно нужно сначала установить если не установлена
    Ответ написан
  • Почему ноутбук не включался, а затем через две недели простоя вкючился?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    на старом нутбуке похожее наблюдал, там немного отходил разьём в самом ноутбуке куда втыкается провод с питанием от БП, немного его пошевелив всё нормально заводилось
    Ответ написан
    Комментировать
  • Виснет ПК 1-3 раза в день. Что проверить?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    смотреть логи на тостере я погляжу нынче не в моде
    И какие логи посмотреть?

    посмотрите в журнале на чем запоролась работа компа, может что-то да и всплывёт:
    journalctl --boot=-1 -n 20
    -1 здесь это предыдущая загрузка, ставьте(... -3, -2, -1) ту на которой запоролась система, 0 - текущая(в которой сейчас загружены)
    если журнал не настроен смотри:
    Journald. Шпаргалка по работе с journalctl.
    archwiki systemd/Journal

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

    то есть до этого работало всё нормально ? если так то здесь либо неудачное обновление(напр. новое ядро или видеодрайвер) ОС если такое вообще было либо наметилась проблема с железом
    Ответ написан
    Комментировать
  • Есть подробная инструкция по i3wm на русском языке?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    - самая подробная инструкция конечно будет официальная документация(en)
    - более конкретную под ваш дистрибутив Manjaro(на базе Arch) можно посмотреть на арчвики en и ru, где правда русская дока может местами устареть и быть неполная поэтому сопоставляйте её с английской
    - ну а дальше дёргайте за бороду дядюшку гугла, например вбиваете - "i3 настройка" и для пущей релевантности выдачи ставите фильтр на русский язык и устанавливаете лимит за последний год, вот к примеру одна из первых ссылок - Установка и настройка i3wm (описание + видео)
    Ответ написан
    Комментировать
  • Какие видеоплеером Вы пользуетесь (Mac, Linux, Win)?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    mpv наше всё
    Ответ написан
    Комментировать
  • Почему не удается выйти из просмотра справки в терминале Линукс?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    прочитать надпись внизу, там же черным по белому написано что делать
    Ответ написан
    2 комментария
  • Как можно в bash-е парсить html страницу?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    pup
    Ответ написан
    Комментировать
  • Почему не находит каталог Downloads?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если по взрослому то команда:
    systemd-path
    выведет разные пути в том числе и пользовательские
    systemd-path user-download
    выведет путь конкретно к каталогу загрузки
    Ответ написан
    Комментировать
  • Как из /var/log/pacman.log получить названия пакетов?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Структура файла примерно такая:

    там структура лог пакмана немного сложнее чем вы представили

    Нужно с помощью bash достать список пакетов из файла /var/log/pacman.log

    список пакетов каких ?
    установленных когда либо, удалённых или тех что конкретно сейчас установлены в системе ?
    установленных из подключенных реп, аура или всех сразу ?
    если последнее то будет примерно такое:
    awk '$4=="installed" || $4=="removed" {print i++,$4,$5}' /var/log/pacman.log |sort -k3 -k1n |sed '$a\\' |awk '{if (a=="installed" && b!=$3) print b;a=$2;b=$3}' > packages.all.txt

    подробнее смотри тут в разделе Создание списка пакетов для восстановления
    Ответ написан
    Комментировать
  • Поставил 32 доступно только 16. Почему так?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    интересно
    процессор AMD RYZEN 3 1200
    - встроенной графики нет (то есть не отбирает общую память)
    - максимум поддерживаемой памяти 64 GiB

    операционка Windows 10 Home 64 bit
    - максимум поддерживаемой памяти 128 GB

    материнка Gigabyte GA-AB350M-HD3
    - максимум поддерживаемой памяти 32 Гбайт

    то есть физического ограничения по памяти не должно быть
    единственное что остаётся это ограничение в биос, возможно его стоит обновить до последней версии
    Ответ написан
  • Можно ли скомпилировать программу из исходников под ARM в Linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    скомпилировать можно всё что угодно
    обновления будут прилетать разве что для плагинов, а сам браузер придётся каждый раз перекомпилировать если захотите его обновить на новую версию
    но можете просто установить дистрибутив в котором есть потдержка arm + ваша программа уже есть в поддерживаемых пакетах (репозитории)
    например тот же NixOS
    NixOS on ARM/Raspberry Pi
    NixOS packages icecat (+ aarch64)
    Ответ написан
    Комментировать