Сколько кешбека можно было бы получить в банке Авангард

Написал простой bash-скрипт, который берет выгрузку истории платежей по карте из банка Авангард и смотрит, по каким из них был бы начислен кешбек, а по каким нет.

Скрипт может быть интересен новичкам в bash: в нем используются, например, массивы. Код прост и содержит некоторые комментарии на русском. Приведен пример входных данных, которые может обрабатывать этот скрипт.
Читать далее Сколько кешбека можно было бы получить в банке Авангард

Упаковка снимка BTRFS в сжатый файл-образ

Рассмотрим упаковку подраздела (subvolume) BTRFS в сжатый файл-образ.


Читать далее Упаковка снимка BTRFS в сжатый файл-образ

Как быстро скачать видео с GetCourse на Linux скриптом

Написал простой скрипт для скачивания видео с GetCourse без перекодирования: https://github.com/mikhailnov/getcourse-video-downloader

Некоторые инструкции в интернете предлагают скачивать видео с GetCourse с помощью VLC, однако это требует перекодирования видео.

Этот скрипт скачивает видео-уроки с Геткурса без перекодирования. Работает на Linux, BSD, macOS и в др. UNIX-подобных окружениях.
Читать далее Как быстро скачать видео с GetCourse на Linux скриптом

Автоматизация GDB с помощью xdotool

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

Открыл 2 терминала, в одном запустил программу под gdb, поставил точку остановки (breakpoint), запустил (run), другой средствами оконного менеджера закрепил поверх других окон, запустив в нем:
sleep 5; while true ; do xdotool type c && for type in A B ; do xdotool key KP_Enter && xdotool key p && xdotool key space && for i in $type E V R ; do xdotool type $i ; done; done && xdotool key KP_Enter ; sleep 0; if ! ps aux | grep -vE 'gdb|grep' | grep -q '/usr/bin/python3 /usr/bin/livecd-creator' ; then break ; fi; done
Этот код вводит нужные команды в gdb и проверяет, не остановился ли процесс, т.е. не произошел ли сегфолт, а если произошел, то перестает их вводить. Пошел по своим делам, оно само отработало, вернулся, передо мной был наглядный результат.

Как на коленке записывать, сколько памяти занято и чем в Linux

Понадобилось раз в N минут записывать, сколько памяти занято и чем.
Читать далее Как на коленке записывать, сколько памяти занято и чем в Linux

Скачиваем альбом или все треки исполнителя с Яндекс Музыки бесплатно

Программа youtube-dl умеет скачивать в т.ч. и с Яндекс.Музыки.
Читать далее Скачиваем альбом или все треки исполнителя с Яндекс Музыки бесплатно

Распаковка AppImage

AppImage-ы, собранные свежими версиями AppImage Kit, можно легко распаковать, например, для правки файлов перевода. Рассмотрим на примере ночных сборок Kdenlive 19.04.

Сначала создаем отдельную папку, в которую будем распаковывать AppImage. Я обычно для таких целей использую ~/.local/lib/ (по умолчанию такой директории нет, я ее придумал сам).
И так, создадим папку и переведем терминал в нее:

mkdir -p ~/.local/lib/kdenlive/
cd ~/.local/lib/kdenlive/

Читать далее Распаковка AppImage

Как в Linux/BSD распараллелить скачивание файлов по списку

Дано: есть список ссылок для скачивания в текстовом файле, по ссылке на строку, файл называется input.txt.
Задача: скачивать по N файлов одновременно, то есть скачивать список в N потоков.

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

Делается так:
parallel -a <(cat "input.txt") -P 16 wget "{1}"
Предварительно установить wget и parallel.

Пример с реализацией в скрипте скачивания аудио-книг с сайта "Книга в ухе" (knigavuhe.com):
https://gitlab.com/mikhailnov/kvigavuhe-download/blob/master/download.sh#L43

UPD. Дополнение от Романа Кудоярова:
"Можно xargs заюзать. И не ставить parallel
< input.txt | xargs -n 1 -P 16 -I {} wget {} "

Автоматически обрезать поля в PDF

Понадобилось в PDF на всех страницах автоматически убрать поля, т.к. большие поля мешают чтению PDF на и так маленьком экране электронной книги.
Читать далее Автоматически обрезать поля в PDF

Автоматизация пересборки зависимых пакетов при обновлении библиотек в Росе

(Эта статья будет дописываться) Как составить список пакетов для пересборки, смотрите статью №698. Нужно сделать текстовый файл с построчным списком пакетов. Предположим, что этот файл называется krb5.list .
Читать далее Автоматизация пересборки зависимых пакетов при обновлении библиотек в Росе