sed でハマり

ってか、RHL 微妙。
ぢつは仕事で tarball から導入したパケジの lib 配下について依存してるライブラリが errata なナニに入ってるかどうか、を自動で云々、なスクリプトを考えてました。
色々確認しつつ以下なソレがヒリ出てきました。

# for i in $(for i in $(for i in $(find /usr/local -name '*.so*') ; \
do ldd $i; done|grep '=>'|awk '{print $3;}'|sort|uniq) ; \
do rpm -qf $i; done | grep '^[a-zA-Z]'|sort|uniq); \
do echo ${i}; done

自分で入力してて意味不明だし (を

結果出力されるのが以下なカンジのソレ

beecrypt-4.1.2-10.1.1
bzip2-libs-1.0.3-3
e2fsprogs-libs-1.39-8.el5
glibc-2.5-12
libgcc-4.1.1-52.el5
libselinux-1.33.4-2.el5
libsepol-1.15.2-1.el5
libstdc++-4.1.1-52.el5
openssl-0.9.8b-8.3.el5
popt-1.10.2-37.el5
rpm-libs-4.4.2-37.el5
sqlite-3.3.6-2
zlib-1.2.3-3

で、上記な出力をバージョンなナニを除去して以下のようにして yum check-update な出力から grep かけてやれ、って思ってました。sed 不慣れでどハマり。
最初以下か、と思っていました。

$ echo "bzip2-libs-1.0.3-3"|sed -e 's/-[0-9]*$//g'
bzip2-libs-1.0.3
$

駄目。パニクッてたのでググッても無駄状態。帰宅後、冷静になって (とは言え試行錯誤が結構続きました)、以下にたどり着いた。

$ echo "bzip2-libs-1.0.3-3"|sed -e 's/-[0-9].*$//g'
bzip2-libs
$

どうも sed の修行が足らん。
# しかもピリ (.) 一つで、とは ...