Fichier squelette et variables

Le
Ozzii
Bonjour,

J'essaye de faire quelque chose mais je pense que je m'y prend mal.
J'ai un fichier squelette avec des variables dedans que je voudrais
mettre à jour par rapport à mon script principal.

Script principal :
for FIC in `ls toto*.txt`
do
INPUT="E:\${FIC}"
while read -r MAQUETTE
do
echo "$MAQUETTE"
done < Fichier_Maquette
done

Fichier_Maquette:
echo ${INPUT}

Le résultat me donne ${INPUT} alors que j'attend E:\toto1.txt
Même en mettant le INPUT= dans le while j'ai pareil.

Dois-je mettre peut-être faire un sed dans mon while ou autre chose??

Toute aide est la bien venue. Merci par avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ozzii
Le #20383751
J'ai essayé ça aussi mais NON, pareil:
IFS=''
cat -v Fichier_Maquette | while read LINE
do
echo "$LINE"
done
Lucas Levrel
Le #20384601
Le 20 octobre 2009, Ozzii a écrit :

echo "$LINE"



Ce serait pas plutôt : eval "$LINE" ?

Aussi, chez moi (bash), ton script donne « echo ${INPUT} » et non pas
« ${INPUT} ».

--
LL
Stephane CHAZELAS
Le #20384941
2009-10-20, 00:09(-07), Ozzii:
Bonjour,

J'essaye de faire quelque chose mais je pense que je m'y prend mal.
J'ai un fichier squelette avec des variables dedans que je voudrais
mettre à jour par rapport à mon script principal.

Script principal :
for FIC in `ls toto*.txt`
do
INPUT="E:\${FIC}"
while read -r MAQUETTE
do
echo "$MAQUETTE"
done < Fichier_Maquette
done

Fichier_Maquette:
echo ${INPUT}

Le résultat me donne ${INPUT} alors que j'attend E:\toto1.txt
Même en mettant le INPUT= dans le while j'ai pareil.

Dois-je mettre peut-être faire un sed dans mon while ou autre chose??

Toute aide est la bien venue. Merci par avance.




for FIC in toto*.txt; do
INPUT=E:\$FIC
eval "cat << EOF
$(cat Fichier_Maquette)
EOF
"
done


--
Stéphane
Ozzii
Le #20391751
Merci à tous les deux:

j'ai fait cela:

eval "tt="$(cat Fichier_Maquette""
echo "$tt"

Il a fallu que je protège les " car dans mon fichier maquette j'ai des
( " ...

Merci.
Stephane CHAZELAS
Le #20391881
2009-10-21, 01:33(-07), Ozzii:
Merci à tous les deux:

j'ai fait cela:

eval "tt="$(cat Fichier_Maquette""
echo "$tt"

Il a fallu que je protège les " car dans mon fichier maquette j'ai des
( " ...


[...]

D'ou l'avantage du cat << EOF

--
Stéphane
Ozzii
Le #20398471
On 21 oct, 10:58, Stephane CHAZELAS wrote:

D'ou l'avantage du cat << EOF

--
Stéphane



Merci encore et CHAPEAU BAS !!!
Ozzii
Le #20398551
Petite question:
Cela fonctionne presque très bien.
Voila ce que j'ai:

#! /bin/sh
eval "cat << EOF
$(cat Fichier_Maquette)
EOF
" >>${JOB}

Dans mon fichier de sorti j'ai EOF d'inséré à chaque fin de traitemen t
(après chaque fichier trouvé) de la boucle for.

Une petite idée ?

P.S: vaux mieux que j'utilise bash ou sh (je suis sous cygwin)?
Stephane CHAZELAS
Le #20399211
2009-10-22, 01:12(-07), Ozzii:
Petite question:
Cela fonctionne presque très bien.
Voila ce que j'ai:

#! /bin/sh
eval "cat << EOF
$(cat Fichier_Maquette)
EOF
" >>${JOB}

Dans mon fichier de sorti j'ai EOF d'inséré à chaque fin de traitement
(après chaque fichier trouvé) de la boucle for.

Une petite idée ?



Ne pas indenter le "EOF"

P.S: vaux mieux que j'utilise bash ou sh (je suis sous cygwin)?



Pas d'importance, ce code est standard.


--
Stéphane
Ozzii
Le #20401421
On 22 oct, 11:16, Stephane CHAZELAS wrote:

Ne pas indenter le "EOF"

> P.S: vaux mieux que j'utilise bash ou sh (je suis sous cygwin)?

Pas d'importance, ce code est standard.

--
Stéphane



En fait il n'est pas indenté tout comme le "$(cat" (sinon c'est décal é
dans le fichier de sorti).
Déjà fait cette expérience lors de la mise en place de ta commande.
Lucas Levrel
Le #20407391
Le 22 octobre 2009, Ozzii a écrit :

En fait il n'est pas indenté tout comme le "$(cat" (sinon c'est décalé
dans le fichier de sorti).
Déjà fait cette expérience lors de la mise en place de ta commande.



Tu devrais poster un exemple complet (syntaxe de la boucle, contenu de
tous les scripts et fichiers)

--
LL
Publicité
Poster une réponse
Anonyme