1. bash / Говнокод #9547

    −143

    1. 1
    MINOR_VERSION=`curl -s ${source%/*}/ | grep ${pkgname}-${pride_version%.*}.*.${ARCHIVEXT} | cut -d '>' -f 7 | cut -d '<' -f 1 | cut -c$((${#pkgname}+2))-99 | sed "s/${ARCHIVEXT}/\ ${ARCHIVEXT}/g" | cut -d ' ' -f 1 | uniq | sort -t. -k1,1n -k2,2n -k3,3n -k4,4n -k5,5n -k6,6n | tail -n 1`

    вот что я выдавил из себя, когда писал парсер проверки свежих версий софтин на fd.o %)

    Запостил: fat0troll, 26 Февраля 2012

    Комментарии (5) RSS

    • Что возвращает ${ARCHIVEXT}?
      Ответить
      • скорее всего что-то вроде "tar.gz" или "tar.bz2" или "deb" или "rpm"
        Ответить
      • tar.gz|tar.bz2|tar.xz|sh|txz|tgz, берёт из скормленных параметров
        Ответить
    • А если так:
      $ curl -s http://dbus.freedesktop.org/releases/dbus/ | grep -oP "(?<=dbus-)(.*?)(?=\.tar\.gz)" | uniq | tail -n1
      $ 1.5.10
      Ответить
    • cut (а может и grep) можно слить с sed. uniq заменить на ключ -u у sort, а в остальном вроде нормально. Не говнокод.
      Ответить

    Добавить комментарий