bonjour,
j'effectue en ce moment (stage) des calculs sur un cluster, et je souhaite automatiser ma soumissions de job:
Pour ce faire, je dispose d'une base de donnée de la forme :
delta Re ub F maxUs xUs yUs maxUip maxPsi xPsi yPsi circulation
1.000000000000000056e-01 1.000000000000000000e+02 9.999999880255133755e-01 1.847046745021032388e+00 1.875822000151966096e+00 1.451459197325943992e-03 5.195067241032987226e+00 1.800956170626870634e-01 1.358132924334415625e-01 2.283607643238189100e-01 5.053583403732131885e+00 3.356563318232111959e-01
...
j'aimerai faire un test if sur les deux premières colonnes de chaque ligne et assigner la valeur de F lorsque le test est bon.
Mais je rencontre des difficultés pour le test..
J'ai utilisé plusieurs méthodes mais aucune ne s'est avéré fructueuse:
while read -r delta Re ub F maxUs xUs yUs maxUip maxPsi xPsi yPsi circulation; do
if [ 1 -eq "$(echo "${delta} = ${test}" | bc)" ]
then
echo "$F"
fi
done < "Data.txt"
..
while read -r delta Re ub F maxUs xUs yUs maxUip maxPsi xPsi yPsi circulation; do
echo "Re = $Re"
echo "F = $F"
echo "delta = $delta"
Delta=$( awk 'BEGIN{printf "%.1f\n", $delta }' )
echo "Delta = $Delta"
if (( $d -eq 1/10 |bc -l )); then
echo "$F test ok"
fi
done < "Data.txt"
Quelqu'un pourrait il m'aider ?
Peut être n'est ce pas la bonne méthode ..? Python serait plus pertinent ?
Dans l'attente de votre réponse.
Cordialement
# Basherie
Posté par Sacha Trémoureux (site web personnel) . Évalué à 3.
Si tu es plus à l’aise en Python et sous condition que le langage soit connu dans ton équipe au boulot, ça ne sert à rien de s’arracher les cheveux à faire du Bash. La lisibilité du code n’en sera que meilleure, et j’ai l’impression que c’est un peu plus pertinent dans ton contexte si ton besoin devient plus compliqué.
Après c’est possible de faire des trucs lisibles en Bash pour la beauté de l’exercice mais moi j’ai poney.
[^] # Re: Basherie
Posté par Loïs Taulelle ࿋ (site web personnel) . Évalué à 2.
En plus, slurm sait parfaitement exécuter du python, directement en script de soumission, exemple :
(et pour bash, y'a shellcheck). Je vous laisse, j'ai bouboulicorne à la piscine.
Proverbe Alien : Sauvez la terre ? Mangez des humains !
# awk est un ami
Posté par cd9 . Évalué à 1. Dernière modification le 18 août 2023 à 11:32.
Exemple, qui affiche F quand Re est égal à delta, à modifier selon vos besoins.
Ca peut servir pour alimenter un xargs par exemple qui va relancer des calculs avec la liste de valeurs en entrée.
etc…
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.