Я нуждаюсь в помощи, делая определенную функцию удара.
Вот пример чего-то, что я хочу сделать в терминале:
apt-get update
(выполните это в фоновом режиме никакой вывод), urls
то, что это обновляет от (не Хит: 1, Хит: 2, и т.д....) в спискеТак в основном мне нужен сценарий удара для нахождения определенной вещи, такой как "Хит: 1, Хит: 2, и т.д." и вывод, что прибывает после этого в список.
PS: Это - теоретический пример. У меня нет использования для этих URL.
можно использовать --print-uris
аргумент Кв. - заставляет команду просто производить URIs пакетов обновления. Например:
sudo apt-get --print-uris update
произведет список архивов .xz и tarballs. но список очень грязен и имеет следующий общий формат.
'http://archive.ubuntu.com/ubuntu/dists/xenial-backports/multiverse/dep11/icons-64x64.tar.xz' archive.ubuntu.com_ubuntu_dists_xenial-backports_multiverse_dep11_icons-64x64.tar 0
однако, вывод может быть очищен путем простого использования egrep
со следующим простым регулярным выражением, которое может использоваться для соответствия URL прямые статические ссылки на любой файл.
sudo apt-get -y --print-uris update | egrep -o -e egrep -o -e "(ht|f)tp://[^\']+"
превращать это в функцию,
updateURIonly(){
sudo apt-get -y --print-uris update | egrep -o -e egrep -o -e "(ht|f)tp://[^\']+" ;
}
Вы могли также использовать это для вывода URIs пакетов для upgrade
и/или dist-upgrade
аргументы, а также любой другой аргумент, который может быть передан Кв. - получают команду.
сделать эту работу с upgrade
аргумент:
upgradeURIonly(){
sudo apt-get -y --print-uris upgrade | egrep -o -e egrep -o -e "(ht|f)tp://[^\']+" ;
}
можно использовать URIs от этого вывода для выполнения быстрого обновления при помощи по сути более быстрых многопоточных загрузчиков как axel
/или aria2c
. У меня есть сценарий на моем GitHub, который делает точно эту вещь. т.е. это использует метод, который, как показывают выше, извлек список URIs, и загружает .deb
пакеты для выполнения очень быстрого обновления. скорость увеличивается до 40X. обратите внимание, мое использование сценария axel
поэтому удостоверьтесь, что имели axel
установленный прежде, чем запустить скрипт.
клонировать мой GitHub repo: