Bonjour,
J'ai fais un script qui me permet de connaître le nombre de comptes créer dans thunderbird en parsant le fichier prefs.js de l'utilisateur. Mais ça me fait une ligne de commande... bien grasse dirons-nous :
numserveur=`grep mail.server.server'.*'.type prefs.js|awk -F. '{print $3}'|sort -n|cut -c 7-|xargs|awk '{print $NF}'`
Je cherche toutes les lignes qui contiennent mail.server.server'.*'.type
Je ne prend que la partie server';*'
Je trie dans l'ordre numérique
Je vire les 6 premiers caractères
Je vire les retour chariots
Je récupère le dernier élément.
Ouf, j'ai enfin le nombre de comptes!
Mais bon j'ai l'impression d'utiliser un bulldozer pour aplatir une taupinière, ne connaîtriez vous pas un méthode plus élégante de faire la chose?
Merci
# Re: simplifiage
Posté par Frédéric Perrin (site web personnel) . Évalué à 3.
J'ai l'impression qu'il doit ressembler à :
mail.server.server1.type XYZ
mail.server1.address mail.example.org
mail.server.server2.type ABC
mail.server2.address mail.example.com
...
Si c'est bien le cas :
grep -c mail.server.server'.*'.type prefs.js
[^] # Re: simplifiage
Posté par gilles renault (site web personnel, Mastodon) . Évalué à 1.
user_pref("mail.server.server3.check_time", 100);
user_pref("mail.server.server3.directory-rel", "[ProfD]Mail/Nouvelles et Blogs");
user_pref("mail.server.server3.hostname", "Nouvelles et Blogs");
user_pref("mail.server.server3.login_at_startup", true);
user_pref("mail.server.server3.name", "Nouvelles et Blogs");
user_pref("mail.server.server3.type", "rss");
user_pref("mail.server.server3.userName", "nobody");
J'ai un doute sur l'affichage des doubles quote qui dans l'aperçu se transforment en
"
[^] # Re: simplifiage
Posté par gilles renault (site web personnel, Mastodon) . Évalué à 1.
[^] # Re: simplifiage
Posté par gaaaaaAab . Évalué à 2.
ton xargs | awk pour récupérer la dernière ligne peut se remplacer par un tail
et grep | awk | cut par un sed
Du coup :
grep mail.server.server'.*'.type prefs.js | sort -n |tail -1 | sed 's/.\{29\}\([0-9]*\).*/\1/'
[^] # Re: simplifiage
Posté par gaaaaaAab . Évalué à 3.
sed -n 's/user_pref("mail.server.server\([0-9]*\)\.type.*/\1/p' prefs.js |sort -n | tail -1
[^] # Re: simplifiage
Posté par 12James . Évalué à 1.
# avec awk :
Posté par totof2000 . Évalué à 2.
[^] # Re: avec awk :
Posté par totof2000 . Évalué à 2.
awk '/mail.server.server'.*'.type/ { split($0,a,".");COMPTES+=1} END {print COMPTES}'
[^] # Re: avec awk :
Posté par totof2000 . Évalué à 3.
- je récupère les lignes mail.server.server'.*'.type
- je splite (avec séparateur ".") dans un tableau nommé a. Je viens de me rendre compte que ça sert à rien ...
- ensuite j'incrémente mon compteur.
- enfin j'affiche le nombre de comptes.
Plus simplement :
awk '/mail.server.server'.*'.type/ { COMPTES+=1} END {print COMPTES}'
# Merci
Posté par gilles renault (site web personnel, Mastodon) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.