URL: https://linuxfr.org/forums/programmation-shell/posts/aide-sur-un-script Title: aide sur un script Authors: eric Date: 2007年09月13日T11:50:51+02:00 Tags: Score: 0 bonjour, je suis en train de faire un script shell et je suis debutant donc je galere pas mal ,j'ai deja posté des post car j'ai l'impression d'avoir du mal a chaque ligne , donc je vais vous mettre le script entier pour que vous puissez m'aider a avoir un script correct [CODE] #!/bin/bash ################################# ################################# prefix="OGL_" tmp0="_tmp0_" tmp1="_tmp1_" tmp2="_tmp2_" tmp3="_tmp3_" tmp4="_tmp4_" tmp5="_tmp5_" end="END" for file in [^$prefix]* #ici ça ne fonctionne pas, le script s'exécute également sur les fichier commençant par le préfixe do echo $file cp $file $file$tmp0 sed 's/\<\(abs\|dp4\|if\|rep\)\>/\U&/g' $file$tmp0 > $file$tmp1 #ceci fonctionne et a pour effet de passer abs, dp4, if et rep en majuscule rm $file$tmp0 sed 's/\<texld\>/TEX/g' $file$tmp1 >$file$tmp2 #ici pas de probleme rm $file$tmp1 sed 's/\/\//#/g' $file$tmp2 >$file$tmp3 #ici tout va bien , je remplace // par # rm $file$tmp2 sed 's/\<,円\|,円\ \>/,円\ /g' $file$tmp3 >$file$tmp4 #ici par contre ça ne fonctionne pas , je voudrais remplacer les virgules (",") et virgule+espace(", ") en virgule+espace (", ") rm $file$tmp3 sed -i $file$tmp4 "s/.*/&'$end'/g" #fonctionne pas non plus , je veut ajouter "END" a la fin du fichier cp $file$tmp4 $prefix$file rm $file$tmp4 done [/CODE] j'aimerais aussi ajouter un point virgule à la fin de chaque ligne mais avant les commentaires qui commence par un # y a t'il une façon pour éviter autant de fichiers temporaires à supprimer ensuite ? dans mes fichier à traiter j'ai des variable r , que je nomme r0, r1, r2,....,r15, ...., rn... est il possible de compter le nombre de variable r différente pour ensuite les déclarer automatiquement comme ceci : TEMP r0; TEMP r1; TEMP r2; ... TEMP rn; une dernière , pour supprimer la ligne qui contient tel chaîne , comment s'y prendre merci d'avance