LINUX.ORG.RU

История изменений

Исправление aureliano15, (текущая версия) :

Предполагая, что список пактов находится в файле package.list, число уникальных названий пакетов (без версий и релизов) не слишком велико (не слишком — это значит поместится в переменную окружения), а сами записи имеют вид имя-X.Y.Z-R без расширения, где X, Y, Z и R — любые десятичные числа без букв и пр. символов, следующий скрипт

for i in $(cat package.list | sed 's/-[0-9]*\.[0-9]*\.[0-9]*-[0-9]*//' | sort | uniq);
  do
    grep "^$i-[0-9]*\.[0-9]*\.[0-9]*-[0-9]*\$" < package.list | sort -rn | head -n2;
  done

выведет в стандартный вывод все пакеты последней и предпоследней версий.

Исходная версия aureliano15, :

Предполагая, что список пактов находится в файле package.list, число уникальных названий пакетов (без версий и релизов) не слишком велико (не слишком — это значит поместится в переменную окружения), а сами записи имеют вид имя-X.Y.Z-R без расширения, где X, Y, Z и R — любые десятичные цифры без букв и пр. символов, следующий скрипт

for i in $(cat package.list | sed 's/-[0-9]*\.[0-9]*\.[0-9]*-[0-9]*//' | sort | uniq);
  do
    grep "^$i-[0-9]*\.[0-9]*\.[0-9]*-[0-9]*\$" < package.list | sort -rn | head -n2;
  done

выведет в стандартный вывод все пакеты последней и предпоследней версий.