Votre aide pour un script shell
fab
-
fab -
fab -
alalah que c dur de se remettre au script shell après pls années de non pratique ;-)
voilà en gros j'ai un script qui marche bien pour 1 fichier passé en paramètre et maintenant je voudrai qu'il marche pour plusieurs fichiers à la fois !
mon script pour 1 fichier:
var=`sed -n 1p $1` && sed -i '1d;s/.*/'$var'&/' $1
il recopie la 1ère ligne de mon fichier devant chaque ligne; c'est ok.
maintenant je voudrais qu'il fasse la même chose pour tous les fichiers qui commence par $1
j'ai essayé:
var=`sed -n 1p $1*` && sed -i '1d;s/.*/'$var'&/' $1*
mais ça marche pô !? je me doute qu'il y a un pb avec la variable mais... !?
vous avez une idée svp ?
voilà en gros j'ai un script qui marche bien pour 1 fichier passé en paramètre et maintenant je voudrai qu'il marche pour plusieurs fichiers à la fois !
mon script pour 1 fichier:
var=`sed -n 1p $1` && sed -i '1d;s/.*/'$var'&/' $1
il recopie la 1ère ligne de mon fichier devant chaque ligne; c'est ok.
maintenant je voudrais qu'il fasse la même chose pour tous les fichiers qui commence par $1
j'ai essayé:
var=`sed -n 1p $1*` && sed -i '1d;s/.*/'$var'&/' $1*
mais ça marche pô !? je me doute qu'il y a un pb avec la variable mais... !?
vous avez une idée svp ?
A voir également:
- Votre aide pour un script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
6 réponses
Salut,
pour tous les fichiers qui commence par $1
$1 est un paramètre (le premier).
Si tu veux désigner tous les paramètres il faut employer "$*" (ou $@).
Mais même avec ça je doute que ton script marche :-(
Affiche-nous plutôt la liste des fichiers (ls le_rep_où_sont_les_fichiers) que tu voudrais passer en paramètres.
pour tous les fichiers qui commence par $1
$1 est un paramètre (le premier).
Si tu veux désigner tous les paramètres il faut employer "$*" (ou $@).
Mais même avec ça je doute que ton script marche :-(
Affiche-nous plutôt la liste des fichiers (ls le_rep_où_sont_les_fichiers) que tu voudrais passer en paramètres.
salut jipicy,
ben en fait dans mon répertoire j'ai pls fichiers: adh_cic, adh_adf, adh_imp, etc... tous commencent par adh...
et je voudrais que mon script fasse pour chacun d'eux (sans que j'ai tous à les rentrer en paramètre, juste 'adh' ) l'opération de prendre la 1ère ligne pour la mettre devant chaque ligne.
merci de ton aide,
A+
fab
ben en fait dans mon répertoire j'ai pls fichiers: adh_cic, adh_adf, adh_imp, etc... tous commencent par adh...
et je voudrais que mon script fasse pour chacun d'eux (sans que j'ai tous à les rentrer en paramètre, juste 'adh' ) l'opération de prendre la 1ère ligne pour la mettre devant chaque ligne.
merci de ton aide,
A+
fab
Re-
Essaie un truc du genre :
Essaie un truc du genre :
for fich in adh_* do var=`sed -n 1p $fich` sed -i '1d;s/.*/'$var'&/' $fich done;-))
OK thanks a lot !
et si je peux te demander un truc encore: comment faire pour que ça soit plus "générique", dans le sens ou je voudrais que ça marche pour tous les fichiers qui commence par adh_* mais aussi pour tous les fichiers pres_* ou tous les fichiers cot_*, genre je donne adh ou pres ou cot en paramètre de mon script ....
tu vois ? ;-)
et si je peux te demander un truc encore: comment faire pour que ça soit plus "générique", dans le sens ou je voudrais que ça marche pour tous les fichiers qui commence par adh_* mais aussi pour tous les fichiers pres_* ou tous les fichiers cot_*, genre je donne adh ou pres ou cot en paramètre de mon script ....
tu vois ? ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question