パッケージを含むリストを整理しようとしています。パッケージリビジョンを削除してパッケージ名だけを保持したいと思います。
すべてのパッケージには、package-name-majorver-minorverなどの命名規則があります。openssl-1.0.1e-57.0.5.el6。 -1.0.1e-57.0.5.el6ではなくopensslだけが必要です。
私はこれまでこれを持っていますが、sed 's/^.*-//'
明らかに動作しません。
ベストアンサー1
パッケージ名に常に2つのバージョン番号部分がハイフンで区切られて追加され、バージョン部分にハイフンが含まれていない場合は、このコマンドを使用できます。
sed 's/-[^-]*-[^-]*$//'
$
これにより、行の末尾にある2つのハイフン()が削除されます。各ハイフンの後には、ハイフン以外の文字が0個以上続きます。たとえば、foo-bar-baz--
次のようfoo-bar-baz
に変更されます。