Aide script perl/shell

Résolu/Fermé
Amel - 29 oct. 2008 à 16:14
 Amel - 30 oct. 2008 à 08:43
Bonjour,

J'ai besoin d'aide pour écrire un script qui me parait un peu compliqué. Je suis débutante, mais j'ai quand même recherché sur internet sans vraiment trouver ce que je veux.

Mon besoin :
avoir un seul fichier contenant des données venant d'autres fichiers, et facilement utilisable ensuite avec Excel

Plus précisément, voilà ce que je voudrais faire :

pour chaque fichier /opt/local/sympa/expl/*/config :
nouvelle ligne dans le fichier
écrire "liste :"
écrire la valeur de l'étoile (*)
(je ne sais pas comment la récupérer)
écrire "; owner : "
écrire le résultat de "grep "owner" -A 4 config | grep email"
écrire "; moderator : "
écrire le résultat de "grep "editor" -A 4 config | grep email"
écrire "; dernière update : "
écrire le résultat de "grep "update" -A 2 config | grep "date ""
écrire "; description : "
écrire le résultat de "grep "subject " config"


tout ça, si possible, sans passage à la ligne entre chaque écriture

J'espère que quelqu'un pourra m'aider, ou au moins me mettre sur une piste !

Merci d'avance,

Amélie
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
29 oct. 2008 à 16:39
Salut,

Un truc du genre devrait faire l'affaire :
for fich in opt/local/sympa/expl/*/config
do
liste=$(echo "$(dirname $fich)" | sed 's#.*/##')
owner=$(grep "owner" -A 4 $fich | grep email)
moderator=$(grep "editor" -A 4 $fich | grep email)
last_update=$(grep "update" -A 2 $fich | grep date)
descriptif=$(grep "subject" $fich)
echo "liste : ${liste};owner : ${owner};moderator : ${moderator};dernière update : ${last_update};description : ${descriptif}" >> fichier_sortie.csv
done
;-))
0
Merci beaucoup...

ça marche nickel !

Amélie
0