Portál AbcLinuxu, 25. dubna 2024 12:41
rpm -qa --queryformat '%{NAME}\n'
rpm --querytags
rpm -qa --qf '%{NAME}\n'
Pokud netrváte na bashi, můžete zkusit
sed -e 's/-[^-]*-[^-]*$//'
Pokud ano, tak
while read s; do echo "${s%-*-*}"; done
Ale jak moc to bude univerzální, to si netroufám odhadnout.
$ rpm -qa|perl -pe 's/(.*)(-.*?)(-.*?)$/$1/'|sort > x2.txt $ rpm -qa --qf '%{NAME}\n'|sort > x1.txt $ diff x1.txt x2.txt $ cmp x1.txt x2.txt $ echo $? 0Distribuce je Mandriva 2007.1... Ze to funguje spravne vzdy a vsude nezarucuju...
bash
i, tak
while read; do echo ${REPLY%-*-*} done < seznam.txtza předpokladu že balíky vždy končí -něco-něco a toto chcete odříznout. Pokud je to složitější tak
sed
který umí regexp, čímž se dá zvládnout víc.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.