On Fri, Feb 20, 2009 at 03:03:10PM +0200, Тихон Тарнавский wrote:
> Приветсвую.
> 
> У меня в системе есть малое количество пакетов, установленных из 
> testing/unstable/experimental, и хотелось бы иметь возможность в любой момент 
> эти пакеты увидеть в aptitude. Почитал его доку про поиск; "нутром чую", что 
> можно это как-то сделать, "а доказать не могу": примеров маловато, а по 
> описаниям не получилось добиться нужного результата. Пока набросал небольшой 
> скрипт (см. вложение), но хотелось бы всё-же в интерфейсе aptitude такого 
> добиться. Сразу оговорюсь: ~i!~Astable выдаёт не те пакеты, которые 
> установлены не из stable, а те установленные, которых вообще нет в stable.
> 
> -- 
> С уважением,
> Тихон Тарнавский.

> #!/bin/bash
> eval $(apt-config shell r APT::Default-Release)
> mask=~i; filter=t; unset notavail
> while [ $# -gt 0 ]; do
>   case "$1" in
>     -m|--manual)   mask=~i!~M ;;
>     -a|--auto)     mask=~M ;;
>     -A|--all)      unset filter ;;
>     -N|--notavail) notavail=t
>   esac
>   shift
> done
> for i in $(aptitude -F %p search "$mask"); do
>   aa=$(apt-cache policy $i)
>   a=$(echo "$aa"| grep -A 1 '\*\*\*' | tr -d \*)
>   v=$(echo $a | awk '{print $1}')
>   t=$(echo "$a" | tail -1 | awk '{print $3}')
>   [ -z "$filter" -o "${t%/*}" != "$r" -a -n "$t" ] &&
>     ! { ! echo "$aa" | grep -q " $r/" && [ -n "$notavail" ]; } && 
>     echo $i $v $t
> done


Бедный awk. man cut ;) Если уж awk использовать, так для всей задачи
(как замену циклу).

-- 
Stanislav


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Ответить