Enregistrer dans un fichier pour chaque boucle while

Résolu/Fermé
wtfunix Messages postés 48 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 25 août 2014 - 25 août 2014 à 16:06
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 26 août 2014 à 09:36
Bonjour,
j'aurais aimer savoir comment pourrait-on faire afin d 'enregistrer dans un fichier des informations mais pour chaque boucle while effectuer. Par exemple j 'ai ma boucle while:

dateUTC=$(echo $line | awk '{ print $1}'
RA=$(echo $line | awk '{ print $2}'

while read line
do

echo "date: $dateUTC"
echo "<td>$RA</td>"

done < fic1 > fic2

et le fichier 1 est :

123 456
789 253

j'aimerai enregistrer à chaque fois dans un fichier chaque ligne c'est à dire avoir dans un fichier les valeurs 123 456 dans un autre 789 253 ...etc enregistrés de manière automatique?

Merci d'avance de votre aide
A voir également:

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
26 août 2014 à 09:36
hello
$ awk '{print $1 RS $2 > "f" ++n}' fichier
$ more f*
::::::::::::::
f1
::::::::::::::
123
456
::::::::::::::
f2
::::::::::::::
789
145
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
25 août 2014 à 16:33
Salut,

Il suffit de rajouter un compteur et de l'incrémenter à chaque boucle et d'ajouter ce compteur à ton nom de fichier.

Par contre, je doute fort que ton exemple marche écrit de cette façon ;-(

Tes 2 variables déclarées sont vides et le resteront, et par conséquent ton fichier de sortie sera vide aussi ;-(
0
wtfunix Messages postés 48 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 25 août 2014
25 août 2014 à 17:17
Pardon je me suis trompé :/
J'ai un fichier 1 :
123 456
789 145


cat fichier1 
while read line
do
dateUTC=$(echo $line | awk '{ print $1}')
RA=$(echo $line | awk '{ print $2}')

echo "$dateUTC"
echo "$RA"

done < fic1> ff

j 'aimerai enregistre dans un fichier f1 :
123
456
et dans un fichier f2:
789
145

Si je mets un compteur j'aurais:
compteur=1
while read line
do
fic_sortie="fic_sortie$compteur"
echo "$dateUTC" > "$fic_sortie"
echo "$RA" >> "$fic_sortie"

compteur=$(( compteur + 1 ))
done < fic1

Mais comment pourrais-je faire pour récuperer ces fichiers f1 et f2?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
25 août 2014 à 17:24
compteur=1
while read line
do
echo -e "${dateUTC}\n${RA}" > f"${compteur}"

((compteur++))
done < fic1
0
wtfunix Messages postés 48 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 25 août 2014
25 août 2014 à 17:28
Merci beaucoup pour la réponse !!
0