bash : extraction de caractères - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 16-02-2009 à 20:20:01
Faut pas non plus batailler. Je vois trop de gens chier des usines à gaz en shell (plusieurs milliers de lignes), avec du awk à toutes les sauces, des fichiers temporaires (pas temporaires du tout), des tas de merdes pas réutilisables (me parler pas des fonctions shell ça dépend toujours de 14 variables externes, etc).
Des que ça s'allonge, ça devient très vite intéressant de faire genre du perl, d'avoir des structures de données, des vrais fonctions réutilisables, un découplage des formats d'entrée et de sortie. Pour un volume de code très inférieur.
Même quand on est coincé sur un perl 5.6, ça sera toujours meilleur. Ne serait-ce qu'en gestion d'erreur, etc. La plus part des scripts shell rendent l'ame avec un pauvre "set -e -u", le fait qu'ils fonctionnent tient plus de la chance que d'autres choses.
J'ai rien contre le shell, mais dès qu'il y a un vrai traitement, de transformation, etc, ce n'est plus adapaté, sauf pour empoisonner les gens qui viendront après vous et perdre du temps.
Marsh Posté le 17-02-2009 à 15:00:06
Il faut que je me mette au perle plus serieusement alors
Je me pose certaine question sur la vitesse des scripts bash. Dans l'exemple ci dessous, le script marche mais est extremement lent ! Sur un machine puissante, il crée seulement une ligne toute les 3-5 secondes sur le fichier de sortie !!! Je ne sais pas d'ou cela vient !!
Code :
|
Marsh Posté le 17-02-2009 à 15:43:29
Ben il faut tracer avec l'option "-x", si c'est si lent que cela, l'endroit va sauter aux yeux ...
Marsh Posté le 17-02-2009 à 15:48:52
ben je dirais bien que ça dépend de la taille de ton fichier FILE_PROF surtout
tu fais un grep dessus, si le fichier est énorme, ça prend bien du temps quoi
Marsh Posté le 17-02-2009 à 15:51:33
350 ligne ca va encore
Marsh Posté le 17-02-2009 à 15:54:29
longueur de la ligne ?
j'vois qu'ça
ou sinon, machine bien chargée et nice de merde sur ton script
Marsh Posté le 17-02-2009 à 16:58:48
70-80 de longueur
pas de charge sur la machine
Bref bizarre. Ca fait le meme comportement sur une VM linux et sur le serveur reel (etch).
Marsh Posté le 19-02-2009 à 01:57:20
Salut,
si tu veut du concis :
Code :
|
Je n'utilise ques des builtins bash.
En testant dans vim :
Code :
|
J'obtient :
ch
ma
Marsh Posté le 16-02-2009 à 11:49:11
Hello,
J'ai une liste de noms composés dont j'aimerais extraire les 1er caractères en bash.
Exemple : "marie-chantal" donne "mc", "jean-daniel" donne "jd".
J'ai bien trouvé une solution en utilisant 3 'cut' consécutifs, mais je me demande s'il existe plus élégant !!
---------------
D3/Hots/Hs Doc#2847