LINUX.ORG.RU

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

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

l=upstart;f(){ for p in $(LANG=C apt-cache depends $1|sed -e'/Depends/!d;s/<//g;s/>//g;s/.*: \(.*\)$/\1/g');do if !(echo $l|tr ':' '\n'|grep -q $p);then l=$l:$p;f $p;fi;done;};f $l;echo $l|tr ':' '\n'|sort -u

А если так? Скажи, если найдёшь что-нибудь интересное :-).
Читаемый вариант (для нелюбителей однострочников):

list=upstart;
func() {
    for package in $(LANG=C apt-cache depends $1 | sed -e '/Depends/!d;s/<//g;s/>//g;s/.*: \(.*\)$/\1/g'); do
        if ! (echo $list | tr ':' '\n' | grep -q $package); then
            list=$list:$package;
            func $package;
        fi;
    done;
};
func $list
echo $list | tr ':' '\n' | sort -u

Исправление Darth_Revan, :

l=upstart;f(){ for p in $(LANG=C apt-cache depends $1|sed -e'/Depends/!d;s/<//g;s/>//g;s/.*: \(.*\)$/\1/g');do if !(echo $l|tr ':' '\n'|grep -q $p);then l=$l:$p;f $p;fi;done;};f $l;echo $l|tr ':' '\n'|sort -u

А если так? Скажи, если найдёшь что-нибудь интересное :-).
Читаемый вариант (для нелюбителей однострочников):

list=upstart;
func() {
    for package in $(LANG=C apt-cache depends $1 | sed -e '/Depends/!d;s/<//g;s/>//g;s/.*: \(.*\)$/\1/g'); do
        if ! (echo $list | tr ':' '\n' | grep -q $package); then
            list=$list:$package;
            func $package;
        fi;
    done;
};
func $list
echo $list | tr ':' '\n' | sort -u

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

l=upstart;f(){ for p in $(LANG=C apt-cache depends $1|sed -e'/Depends/!d;s/<//g;s/>//g;s/.*: \(.*\)$/\1/g');do if !(echo $l|tr ':' '\n'|grep -q $p);then l=$l:$p;f $p;fi;done;};f $l;echo $l|tr ':' '\n'|sort -u

А если так? Скажи, если найдёшь что-нибудь интересное :-).