Bonjour à tous
Je commence en programmation shell et je compte bien aller loin par la grâce de Dieu et vous bien sûr.
Mais là je suis plutot perdue. Voilà. j'ai un ensemble de fichiers que je voudrais concatener dans un seul fichier avant d'effectuer mes traitements sur ce dernier. en debogguant mon script je me suis rendue compte que quand il finit de "cat" les fichiers dans le fichier destination celui ci se vide et recommence aussitot à se remplir. donc le script est en perpétuel déroulement ça fait comme une boucle en fait. je m'y prends probablement mal alors au secours
au depart il y a une comparaison de date pour que le systeme prenne la date du mois precedent
j'ai voulu mettre le "done" juste après le changement de répertoire et je mets en commentaire la ligne de calcul, il affiche à peine le tiers du volume réel et donc le cumul est trop faible par rapport à celui du fichier final que j'obtiens quand je spécifie le chemin complet du répertoire, et par conséquent celui des fichiers pour chaque jour du mois. Mais c'est fastidieux et c'est un programme que je veux mettre en crontab.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 for DAY in $(seq -w 1 $jrdernier) do r="$anneederniere$moisdernier$jrdernier" a=`date "+%Y"` b=$(date "+%Y%m" --date='1 month ago') m="titi"$r*15*.unl n="titi"$r*16*.unl cd /home/nash/reports/titi$a/$b; cat $m|awk -F '|' 'length($6)== 11 && $6 ~ /^2[3]/ && $12 == '1' { print $0 }' > /home/nash/resultats/premiertotal_$b.txt cat $n|awk -F '|' 'length($6)== 11 && $6 ~ /^2[3]/ && $12 == '1' { print $0 }' >> /home/nash/resultats/premiertotal_$b.txt done awk -F '|' '{arr[$6]+=$11} END {for(i in arr) {print i,arr[i]}}' /home/nash/resultats/premiertotal_$b.txt |sort -nrk 2 > /home/nash/resultats/totaltrie_$b.txt
Je ne sais si je me suis faite plus ou moins comprendre, merci d'avoir lu.
Partager