Задать вопрос
  • Можно ли установить компьютер на застекленном балконе?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    слабым звеном здесь будет HDD, хотя пару месяцев, или даже меньше учитывая только холодный период, может и не сильно сказаться на оном если конечно он уже не на последнем издыхании.

    Рабочая температура жесткого диска

    Температурный режим жесткого диска гораздо ниже температур процессора или видеокарты, что вполне очевидно, поскольку иначе бы диски выпускались с активным охлаждением. Нормальная температура жесткого диска находится в диапазоне 25-45 градусов по Цельсию. Если ваш диск работает при 46 градусах, это не значит, что он прямо сейчас сломается. Нет, диск будет далее работать, но любые значения выше рабочей температуры (в разумных пределах) будут потихоньку укорачивать время жизни диска и надежность его работы.

    Производители жестких дисков часто указывают приемлемые для работы диска температуры. Учтите, что приемлемые температуры – это не то же самое, что нормальные или идеальные температуры для накопителя. Приемлемая температура указывает на диапазон, в котором диск может работать в принципе. Современные накопители обладают диапазоном приемлемой температуры от 0 до 60 градусов по Цельсию. Более старые от 5 до 50 градусов.

    Вы наверняка знаете, что у процессоров и видеокарты нет слишком низкой температуры. Чем она ниже, тем эффективнее работа (грубо говоря). Именно поэтому экстремальные оверклокеры пользуются жидким азотом для охлаждения камней. Такой подход не подойдет для жестких дисков. Для современного HDD губительна не только слишком высокая, но и слишком низкая температура. Хотя 5-10 градусов по Цельсию все еще будет в пределах рабочей температуры, рекомендуемой производителем, подобная среда вредна для диска, поскольку негативно сказывается на подшипнике скольжения и смазочных материалах.

    Проще говоря, деградация диска происходит как на высоких, так и на низких температурах. Оптимальная рабочая температура жесткого диска колеблется от 25 до 45 градусов. Придерживайтесь этого показателя и ваш диск прослужит вам долго, если не пострадает от других неприятностей.
    Ответ написан
  • Есть ли почтовый сервис с API для чтения сообщений?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    зачем такие сложности, можно просто взять те же гималаи и отработать всё у себя на сервере
    регистрируете одну почту на том же gmail
    далее подключаете её через конфиг
    после получаете список письм в виде json, отбираете нужные
    himalaya --output json list
    можно даже сразу через search отобрать нужные
    далее читаете(read) отобранные письма по номерам и парсите их содержимое на наличие нужной информации
    Ответ написан
    Комментировать
  • Как распарсить несколько url из файла в формате "excel"?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    сохраняйте документ в csv, а его уже любым удобным инструментом обрабатывайте
    Ответ написан
    6 комментариев
  • Как найти строку в текстовом файле с помощью grep?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Да, поиск по json

    если у вас файл json типа такого:
    file.json
    [
    {"id": "5644561-46484-546545" , "number": "879876-5644561-546545" ,"reestr":"46878-6214-8794"},
    {"id": "6644561-46484-546545" , "number": "979876-5644561-546545" ,"reestr":"56878-6214-8794"},
    {"id": "7644561-46484-546545" , "number": "079876-5644561-546545" ,"reestr":"66878-6214-8794"}
    ]


    то там довольно всё просто делается используя консольную утилиту jq:
    $ jq -r '.[] | "\(.id): \(.reestr)"' file.json
    5644561-46484-546545: 46878-6214-8794
    6644561-46484-546545: 56878-6214-8794
    7644561-46484-546545: 66878-6214-8794


    если нужен конкретный id:
    $ jq -r '.[] | select(.id == "7644561-46484-546545") | "\(.id): \(.reestr)"' file.json
    7644561-46484-546545: 66878-6214-8794


    ну или через внешнюю переменную:
    $ jq -r --arg ID "7644561-46484-546545" '.[] | select(.id == $ID) | "\(.id): \(.reestr)"' file.json
    7644561-46484-546545: 66878-6214-8794
    Ответ написан
    Комментировать
  • Как экранировать "-" при работе утилиты jq?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    jq '."target-hosts"' deploy.json
    Ответ написан
    Комментировать
  • Как массово создать копии файлов с суффиксами?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    for i in {1..50}; do cp file1.test file1_$i.test;done
    Ответ написан
    1 комментарий
  • Как декодировать результаты ldapserash?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    там походу проблема возникает из за перевода строки в конце данных которые поступают в base64
    попробуйте в awk print заменить на printf:
    ... | awk '{split ($0, a, ": "); printf a[2]}' | base64 -d`


    Как я понял это перекодирование потому что при вызове без base64 выходит данные в виде..

    ну да, используется для русских символов:
    $ echo "0JHQsNC70LHQsNGI0L7Qsg==" | base64 -d
    Балбашов
    Ответ написан
    Комментировать
  • Есть ли офисные программы для терминала?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    по возрастанию свежести
    sc, teapot, oleo, neoleo
    Ответ написан
    Комментировать
  • Как изменить раздел диска?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Установка Windows на данный диск невозможна. На выбранном диске находится таблица MBR-разделов. В системах EFI Windows можно установить только GPT-диск.

    странно что винда сама не может сменить таблицу разделов с mbr на gpt при установке (естественно что все данные с диска пропадут).
    sudo umount -R /dev/sdc
    echo -e "label:gpt\nstart=2M" | sudo sfdisk /dev/sdc

    где вместо sdc ставите имя нужного диск( смотри через lsblk)
    Ответ написан
  • Как сравнить 2 файла в linux?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    показать только ту строку, которая отсутствует во втором файле

    comm -23 <(sort file1.txt) <(sort file2.txt)
    Ответ написан
    3 комментария
  • Как сложить числа от x до y на bash?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    9 класс, арифметическая прогрессия
    # b >= a
    read -p "число 1: " a
    read -p "число 2: " b
    echo $[(a+b)*(b-a+1)/2]
    Ответ написан
    2 комментария
  • Как посчитать число строк в файле по условию?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    если знать точные даты начала и конца то легко:
    awk '/router.php/' example.com.log | awk '/\[16\/Nov\/2021:15:15:56 -0500\]/,/\[17\/Nov\/2021:15:15:56 -0500\]/' | wc -l


    п.с.
    если делать конкретно через date, а не тупо обрабатывать как строки что проще но нужно знать конкретный диапазон, то необходимо учитывать некоторые нюансы, ту же локаль, так как у вас или кого-то другой кто будет у себя запускать данную команду может быть отличная локаль для даты чем в самом логе
    сравните
    $ date -d now
    $ LANG=ru_RU.UTF-8 date -d now
    $ LANG=en_US.UTF-8 date -d now

    сами локали естественно должны быть доступны в системе, проверить можно утилитой localectl:
    $ localectl list-locales
    en_US.UTF-8
    ru_RU.UTF-8


    также +0300 это не просто так, и если обрабатывать скрипт находясь в другом часовом поясе то может произойти смещение по времени в ту или иную сторону
    так что если внести поправки на часовой пояс( %z) + локаль, получим:
    LANG=en_US.UTF-8 date -d 'now-24hours' +'[%d/%b/%Y:%H:%M:%S %z]'


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

    cat example.ru.log  | awk -F'[][/:]' '/router.php/{"date +%s -d \""$2"-"$3"-"$4" "$5":"$6":"$7"\"" | getline z; print z" "$0}'

    здесь мы преобразовали к понятному date формату, а потом перевели в юникс время( +%s) и получившейся результат просто добавили к началу строки.
    результат

    1637320437 212.193.33.123 - - [19/Nov/2021:14:13:57 +0300] "GET /router.php HTTP/1.0" 301 445 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637320437 212.193.33.123 - - [19/Nov/2021:14:13:57 +0300] "GET /router.php HTTP/1.0" 301 445 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637320438 212.193.33.123 - - [19/Nov/2021:14:13:58 +0300] "GET /router.php HTTP/1.0" 301 449 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321647 212.193.33.123 - - [19/Nov/2021:14:34:07 +0300] "GET /router.php HTTP/1.0" 301 449 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321647 212.193.33.123 - - [19/Nov/2021:14:34:07 +0300] "GET /router.php HTTP/1.0" 301 447 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321648 212.193.33.123 - - [19/Nov/2021:14:34:08 +0300] "GET /router.php HTTP/1.0" 301 446 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321650 212.193.33.123 - - [19/Nov/2021:14:34:10 +0300] "GET /router.php HTTP/1.0" 301 445 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321650 212.193.33.123 - - [19/Nov/2021:14:34:10 +0300] "GET /router.php HTTP/1.0" 301 451 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321651 212.193.33.123 - - [19/Nov/2021:14:34:11 +0300] "GET /router.php HTTP/1.0" 301 445 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637324092 212.193.33.123 - - [19/Nov/2021:15:14:52 +0300] "GET /router.php HTTP/1.0" 301 449 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637326108 212.193.33.123 - - [19/Nov/2021:15:48:28 +0300] "GET /router.php HTTP/1.0" 301 447 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637327153 212.193.33.123 - - [19/Nov/2021:16:05:53 +0300] "GET /router.php HTTP/1.0" 301 446 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"


    дату 1 день(24 часа) назад можно узнать так:
    date +%s -d 'now-1day'
    или даже так
    echo $[`date +%s` - 24*60*60]
    просто отняв от текущего количество нужных секунд

    в итоге получим:
    cat example.ru.log |awk -F'[][/:]' '/router.php/{"date +%s -d \""$2"-"$3"-"$4" "$5":"$6":"$7"\"" | getline z; print z" "$0}' | awk -v t=$[`date +%s` - 24*60*60] '$1>=t'


    теперь при желании можно легко расширить и указывать диапазон поиска от(t1) и до(t2)
    cat example.ru.log |awk -F'[][/:]' '/router.php/{"date +%s -d \""$2"-"$3"-"$4" "$5":"$6":"$7"\"" | getline z; print z" "$0}' | awk -v t1=`date +%s -d '19-Nov-2021 15:00:00 +0300'` -v t2=`date +%s -d '19-Nov-2021 16:00:00 +0300'` '$1>=t1 && $1<=t2'

    здесь ищем в диапазоне одного часа
    от 19-Nov-2021 15:00:00 +0300
    до 19-Nov-2021 16:00:00 +0300
    результат
    1637324092 212.193.33.123 - - [19/Nov/2021:15:14:52 +0300] "GET /router.php HTTP/1.0" 301 449 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +www.google.com/bot.html)"
    1637326108 212.193.33.123 - - [19/Nov/2021:15:48:28 +0300] "GET /router.php HTTP/1.0" 301 447 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +www.google.com/bot.html)"
    Ответ написан
    4 комментария
  • Как создать свое приложение под linux?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Комментировать
  • Как переместить все файлы в другую папку кроме папки с помощью терминала?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    $ cd $HOME/Videos
    $ mv !(filters) filters

    если не сработает значит нужно включить расширение регулярных выражений
    $ shopt -s extglob
    включено или нет можно глянуть командой
    $ shopt
    ...
    extglob        	on
    ...
    Ответ написан
    Комментировать
  • Сервис для загрузки хранилища файлов(картинок). Какой выбрать?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Ответ написан
    Комментировать
  • Проблема в Garuda Linux Xfce?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Garuda основан на Arch Linux у которого пакетный менеджер pacman
    skypeforlinux нету в оф.репах но есть в Ауре
    для прозрачной установки пакетов с Аура установите обертку над пакманом, например тот же yay
    pacman -S --needed git base-devel
    git clone https://aur.archlinux.org/yay.git
    cd yay
    makepkg -si

    после уже устанавливаете нужные пакеты
    yay -Suy skypeforlinux-stable-bin
    или
    yay -Suy skypeforlinux-preview-bin
    Ответ написан
    1 комментарий
  • Bash - как вывести только первое слово?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    изначально строка очень длинная, но мне из нее нужно выдернуть только значение 674256, 674262 и т.д. чтобы они были без знака # и каждая с новой строки - в оригинале они со знаком #

    $ echo "#674256 10745127/2 name #674262 10745127/3 name #674268 10745127/4 name #674274 10745127/5 name #674280 10745127/6 name" | awk 'BEGIN{RS="#"}{print $1}'
    
    674256
    674262
    674268
    674274
    674280
    Ответ написан
    Комментировать
  • Почему youtube-dl медленно качает видео?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Ответ написан
    Комментировать
  • Какой программой можно посмотреть FPS текущего стрима RTSP?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    ffprobe -v error "rtsp://10.1.1.102:554/stream=0" -select_streams v:0 -show_entries stream=r_frame_rate -of csv=p=0 | bc
    Ответ написан
    Комментировать