Contenu fichier ecrasé anormalement shell
teab
-
teab -
teab -
Bonjour à tous!
Une fois de plus je me tourne vers le forum pour tenter de solutionner un probleme qui m'occupe depuis pas mal d'heures.
J'ai une routine, qui contient 4 boucles imbriquées.
A chaque debut de boucle, une modification de fichier est effectuée. (2 fichiers concernés)
Chaque boucle parcourt un nombre elevé de points.
Le problème c'est que la routine tourne bien pour les 200 à 300 premiers points (aléatoire) mais à partir de là,le contenu de l'un ou l'autre des deux fichiers, voire les deux, est supprimé et le ou les fichiers sont donc vides. A partir de là le noyau de calcul qui prend ces fichiers en entrée ne peut plus tourner.
Je n'arrive pas à identifier la cause du problème. Cela pourrait t-il etre un problème du shell (un plantage au bout d'un certains nombre d'iterations)?
Merci encore pour votre aide!
Allure du fichier
boucle I (M points)
--> modification du fichier x.txt
boucle J (N points)
--> modification du fichier x.txt
boucle K ( O points)
--> modification du fichier x.txt
boucle L (P points)
--> modification du fichier y.txt
lancement du noyau de calcul
fin
fin
fin
fin
Les modifications modifient un champ d'une ligne précise à chaque fois.
Une fois de plus je me tourne vers le forum pour tenter de solutionner un probleme qui m'occupe depuis pas mal d'heures.
J'ai une routine, qui contient 4 boucles imbriquées.
A chaque debut de boucle, une modification de fichier est effectuée. (2 fichiers concernés)
Chaque boucle parcourt un nombre elevé de points.
Le problème c'est que la routine tourne bien pour les 200 à 300 premiers points (aléatoire) mais à partir de là,le contenu de l'un ou l'autre des deux fichiers, voire les deux, est supprimé et le ou les fichiers sont donc vides. A partir de là le noyau de calcul qui prend ces fichiers en entrée ne peut plus tourner.
Je n'arrive pas à identifier la cause du problème. Cela pourrait t-il etre un problème du shell (un plantage au bout d'un certains nombre d'iterations)?
Merci encore pour votre aide!
Allure du fichier
boucle I (M points)
--> modification du fichier x.txt
boucle J (N points)
--> modification du fichier x.txt
boucle K ( O points)
--> modification du fichier x.txt
boucle L (P points)
--> modification du fichier y.txt
lancement du noyau de calcul
fin
fin
fin
fin
Les modifications modifient un champ d'une ligne précise à chaque fois.
A voir également:
- Contenu fichier ecrasé anormalement shell
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Classic shell - Télécharger - Personnalisation
3 réponses
hello
est-ce que les boucles s'exécutent séquentiellement ou en parralèle/arrière plan ?
vu que c'est le même fichier et que les boucles sont imbriquées, il est important qu'il soit fermé avant de passer à la boucle suivante
est-ce que les boucles s'exécutent séquentiellement ou en parralèle/arrière plan ?
vu que c'est le même fichier et que les boucles sont imbriquées, il est important qu'il soit fermé avant de passer à la boucle suivante
teab
sequentiellement donc pas de tache de fond.
Ne trouvant toujours pas la source du problème, j'ai rajouter quelques lignes de code qui testent si les fichiers sont vides ou non, et qui remette l'ensemble des fichiers dans les conditions juste avant plantage.
Ca à l'air de tourner pas mal comme ça donc je vais laisser ça comme ça.
J'ai dit que je testais si les fichiers étaient vide mais en fait je teste si le premier champ est vide. J'avais trouvé une commande pour tester si le fichier est vide mais j'ai pas réussi à l'exploiter:
if test -z myfile
then
echo "true"
fi
Savez-vous ou est mon erreur?
merci!
Ca à l'air de tourner pas mal comme ça donc je vais laisser ça comme ça.
J'ai dit que je testais si les fichiers étaient vide mais en fait je teste si le premier champ est vide. J'avais trouvé une commande pour tester si le fichier est vide mais j'ai pas réussi à l'exploiter:
if test -z myfile
then
echo "true"
fi
Savez-vous ou est mon erreur?
merci!