Salut
Les noms des paquets sous FreeBSD ne respectent guère de règles très strictes (à mon humble avis). Il me semble que l'on peut toutefois en formuler deux:
- le nom et la version sont toujours séparés par un tiret (-)
- la version ne comporte jamais de tiret (-)
Ceci dit il me semble que l'on peut dans un script sh isoler à coup sûr
- le nom en utilisant: echo ${PKG%-*}
- la version en utilisant: echo ${PKG##*-}
Soit par exemple le script suivant:
Quote:#!/bin/sh
for PKG in `ls -1 /var/db/pkg/` ; do
PKGNAME=`echo ${PKG%-*}`
PKGVERSION=`echo ${PKG##*-}`
echo "Paquet: $PKG ; Nom: $PKGNAME ; Version: $PKGVERSION"
done
Voilà je laisse ceci comme une "astuce" car ce sont des fonctions que j'ai rarement rencontrées dans les nombreux tutoriaux (souvent assez élémentaires) sur les scripts sh... En bref j'ai eu du mal à trouver un solution aussi "simple".