Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Помогите создать простой скрипт для сканирования github  (Прочитано 642 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ase66

  • Автор темы
  • Участник
  • *
  • Сообщений: 191
    • Просмотр профиля
Нужно запустить вот такие команды:

/media/x/xxx/test/eget --list --latest https://github.com/str4d/age-plugin-yubikey/releases '*.deb' > 3.txt
/media/x/xxx/test/eget --list --latest https://github.com/whoozle/android-file-transfer-linux/releases '*.AppImage' > 4.txt

строго по 60 строк в час (ограничение от github), лучше раз в 1 час 10 сек.
(60 строк пролетают за 10-20 сек, но запускать надо по 60 из списка один раз в час)


Нужно скормить один длинный список с записью результата в другой построчный список

Т.е. вместо > 4.txt нужен другой способ сохранения результата.

В терминале ответ выглядит так:
/media/x/xxx/test/eget --list --latest https://github.com/rhysd/actionlint/releases '*.tar*'
https://github.com/rhysd/actionlint/releases/download/v1.7.1/actionlint_1.7.1_linux_armv6.tar.gz

Не знаю как это сделать.

P.S. eget я прихватил из appinstall - eepm, и это единственный способ получить ссылку на скачивание пакетов не тыкая в каждую страницу по отдельности.

https://download.etersoft.ru/pub/Korinf/x86_64/Ubuntu/23.10/eget_7.8-eter1ubuntu_all.deb

eget не надо устанавливать, я применяю его как скрипт без зависимостей.

это найдёт и загрузит искомое:

/media/x/xxx/test/eget --list --latest https://github.com/rhysd/actionlint/releases '*.tar.gz*' | wget --no-check-certificate -cqi - -P /media/x/xxx/git-downlood

это создаёт текстовые файлы по 60 строк:

split -l 60 git-git1 git-git60
Как корректно и рекурсивно запускать эти файлы по порядку раз в час?

thunar - выделитить все файлы, вместо вставить дату и время - .sh

в скрипте заменить .sh на
 
.sh
sleep 60m 9s

sleep 60m 9s должен быть в новой строке

вот так:

/media/x/xxx/split-rab/git-git60saa.sh
sleep 60m 9s
/media/x/xxx/split-rab/git-git60sab.sh
sleep 60m 9s

чтобы исполнялись

sudo chmod -R 777 /media/x/xxx/split-rab/

скрипт можно запускать частями в терминале, или весь.



Собор всех ссылок на скачивание:

awk '{print "/media/x/xxx/test/eget --list  "$0"/releases '*' | grep 'https*' | head -12  >  git2war"}' git-git8827 > git-git8827.1
head -12  это первые 12 строк ссылок на .deb .flatpak и т.д.


добавить в конце каждой строке номер от [1] до ... [60] и ... далее

]awk '{print($0 "[" NR "]")}' git-git8827.1 > git-git8828[code]
* | grep https*    заменить на     '*' | grep 'https*'

Это позволит собрать все ответы с  /releases в пачку

Заатем поиск по всем сразу типа:

grep -Ihri 'linux'  > linux
grep -Ihr '.deb'  > deb
grep -Ihr '.flatpak'  > flatpak
grep -Ihri '.AppImage'  > AppImage

P.S.S. Вообще доступно до 5000 запросов API в час, но с токеном.
« Последнее редактирование: 22 Октября 2024, 22:35:50 от ase66 »

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.