M
Membre supprimé 1129907
Invité
Y'a un souci avec cette version :
Bloc de code:cat "/Users/xxx/Desktop/KENODATA/mygames.txt" "/Users/xxx/Desktop/KENODATA/mygames_full.txt" | head -5000 > "/Users/xxx/Desktop/KENODATA/mygames_full.txt" while IFS= read -r ligne do joueur_gain=$(echo ${ligne} | sed "s/ [- 0-9]*$/;1/" | sed "s/_X\([0-9][0-9]*\);1$/;\1/" ) echo ${joueur_gain} done < "/Users/xxx/Desktop/KENODATA/mygames_full.txt" | awk -F';' ' { tableau[$1]=tableau[$1]+$2 } END { for ( joueur in tableau ) { printf "%s;%s\n",joueur,tableau[joueur] } }' | sort > "/Users/xxx/Desktop/KENODATA/MISE.txt" sleep 40
Si je lance le script 2 fois (ou plus) les pronos dans " mygames.txt"ne sont plus ajoutés dans "mygames_full.txt", le total des mises dans MISE.txt restent identiques.
pire, si je lance la commande :
je me retrouve avec un fichier de 895 megas (mygames_full.txt)Bloc de code:cat "/Users/xxx/Desktop/KENODATA/mygames.txt" "/Users/xxx/Desktop/KENODATA/mygames_full.txt" > "/Users/xxx/Desktop/KENODATA/mygames_full.txt"
Il me semble que la bonne syntaxe est
Bloc de code:cat "/Users/xxx/Desktop/KENODATA/mygames.txt" >> "/Users/xxx/Desktop/KENODATA/mygames_full.txt" | head -5000 >> "/Users/xxx/Desktop/KENODATA/mygames_full.txt"
au lieu de
Bloc de code:cat "/Users/xxx/Desktop/KENODATA/mygames.txt" "/Users/xxx/Desktop/KENODATA/mygames_full.txt" | head -5000 > "/Users/xxx/Desktop/KENODATA/mygames_full.txt"
C'est vrai que ça bug lorsqu'on essaie d'écrire dans un fichier utilisé en entrée (même s'il y a un redirection entre temps).
La version suivante fonctionnera mieux :
Bloc de code:
cat "/Users/xxx/Desktop/KENODATA/mygames.txt" "/Users/xxx/Desktop/KENODATA/mygames_full.txt" | head -5000 > "/Users/xxx/Desktop/KENODATA/mygames_full.tmp" && mv "/Users/xxx/Desktop/KENODATA/mygames_full.tmp" "/Users/xxx/Desktop/KENODATA/mygames_full.txt"
@ecatomb
Finalement, ma requête concernant supprimer "@" et remplacer ";" par " : " est inutile.
Donc, maintenant, on a 2 fichiers :
• MIDI.txt qui contient le total des mises (pour chaque membre)
dans ce format:
@Alex;2
@Elsie;2
@magnetico;85
@microseb;2
• RESULTATSTATS.txt qui contient le total des gains (pour chaque membre)
dans ce format:
MICROSEB > 61 €
ELSIE > 14 €
ALEX > 6 €
Question :
Pour faire la soustraction mise - gain , est-il necessaire de convertir le format de RESULTATS.txt afin d'avoir le même que MIDI.txt ?
Ce n'est pas obligé si cela t'arrange. Il faudra juste créer un script utilisant tes deux fichiers et calculant la différence:
- Pour enlever le @ en début de ligne : echo "@magnetico" | sed 's/^@//'
- Pour transformer du texte en majuscule ou minuscule : la commande tr permet de faire ça
Bloc de code:
echo symbol | tr [a-z] [A-Z]
echo SYMBOL | tr [A-Z] [a-z]
Il te reste à trouver comment calculer la différence mais tu devrais pouvoir te passer des deux idées précédentes que j'ai eu
Un truc de ce style devrait être un bon début :
Bloc de code:
var_mise=0
var_resultat=0
var_mise=$(grep -i "MICROSEB" MIDI.txt | cut -f 2 -d';')
var_resultat=$(grep -i "MICROSEB" RESULTATSTATS.txt | cut -f 3 -d' ')
echo $((var_mise - var_resultat))