Portál AbcLinuxu, 7. listopadu 2025 02:14
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 $?
0
Distribuce je Mandriva 2007.1... Ze to funguje spravne vzdy a vsude nezarucuju...
bashi, tak
while read; do
echo ${REPLY%-*-*}
done < seznam.txt
za 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.