Copier 100 lignes d un fichier
Résolu/Fermé
A voir également:
- Copier 100 lignes d un fichier
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
26 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
7 mars 2008 à 18:38
7 mars 2008 à 18:38
Et "CTRL A" + "CTRL C" ça marche pas non plus ?
bonjour,
merci jipicy pour l aide, pour le moment la premiére partie du probléme est résolue, il me reste la deuxiéme, dont l objectif est , aprés calculer la moyenne et l'ecart type, de la 4éme et la 5éme colonne, je dois faire le test sur chaque valeur de la colonne 4 et 5, le test est comme suit:
* si abs(val4 - moyenne4)<ecart type 4 remplacer valeur de la colonne 6 par 0.01
* si abs(val5 - moyenne4)<ecart type 5 remplacer valeur de la colonne 6 par 0.01
aprés les modifications, je dois copier les 100 lignes et les coller dans leurs ancien fichier(mise à jour du fichier du départ).
quelqu'un peut m'aider??
merci d avance
CYG
merci jipicy pour l aide, pour le moment la premiére partie du probléme est résolue, il me reste la deuxiéme, dont l objectif est , aprés calculer la moyenne et l'ecart type, de la 4éme et la 5éme colonne, je dois faire le test sur chaque valeur de la colonne 4 et 5, le test est comme suit:
* si abs(val4 - moyenne4)<ecart type 4 remplacer valeur de la colonne 6 par 0.01
* si abs(val5 - moyenne4)<ecart type 5 remplacer valeur de la colonne 6 par 0.01
aprés les modifications, je dois copier les 100 lignes et les coller dans leurs ancien fichier(mise à jour du fichier du départ).
quelqu'un peut m'aider??
merci d avance
CYG
salut,
j ai vérifier votre(jipicy) formule d écart type, ça donne pas le résultat voulu,
la formule d'ecart type et:
Ecart type= sqrt((Σ(val4-moy4)^2)/(nb de ligne - 1))
Σ: la somme des (chaque valeur de la colonne 4 - moyenne 4)
merci d avance;
CYG
j ai vérifier votre(jipicy) formule d écart type, ça donne pas le résultat voulu,
la formule d'ecart type et:
Ecart type= sqrt((Σ(val4-moy4)^2)/(nb de ligne - 1))
Σ: la somme des (chaque valeur de la colonne 4 - moyenne 4)
merci d avance;
CYG
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
10 mars 2008 à 10:00
10 mars 2008 à 10:00
j ai vérifier votre(jipicy) formule d écart type, ça donne pas le résultat voulu,
Ben tu corriges et tu adaptes !
Il serait peut être temps que tu y mettes un peu du tien, non ?
Ben tu corriges et tu adaptes !
Il serait peut être temps que tu y mettes un peu du tien, non ?
j ai modifié le script mais je sais pas comment je vais bouclé la premiére boucle(de calcul de moyenne) et ouvrir une autre boucle pour le calcul de l ecart type tt en utilisant la moyenne résultante de la premiére boucle
voici le code <
{
sum1 +=$4; moy1 = (sum1 / 16)
sum2 +=$5; moy2 = (sum2 / 16)
}
{
ecart1 += ($4 - moy1)^2
ecart2 += ($5 - moy2)^2
}
END {
printf "\t\t%s\t\t%s\t\t%s\n"," Total","Moyenne","Ecart type"
printf "Colonne 4 :\t% .2f\t% .2f\t\t% .2f\n",sum1,moy1,sqrt(ecart1/15)
printf "Colonne 5 :\t% 8.2f\t% .2f\t\t% .2f\n",sum2,moy2,sqrt(ecart2/15)
merci d avance
CYG
voici le code <
{
sum1 +=$4; moy1 = (sum1 / 16)
sum2 +=$5; moy2 = (sum2 / 16)
}
{
ecart1 += ($4 - moy1)^2
ecart2 += ($5 - moy2)^2
}
END {
printf "\t\t%s\t\t%s\t\t%s\n"," Total","Moyenne","Ecart type"
printf "Colonne 4 :\t% .2f\t% .2f\t\t% .2f\n",sum1,moy1,sqrt(ecart1/15)
printf "Colonne 5 :\t% 8.2f\t% .2f\t\t% .2f\n",sum2,moy2,sqrt(ecart2/15)
merci d avance
CYG
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
11 mars 2008 à 11:18
11 mars 2008 à 11:18
Salut,
vaut peut être mieux de garder le fichier d'origine que tu pourras supprimer après
donc on va diriger le résultat dans un nouveau fichier qu'on l'appelera fic_ecart par exemple
1ère méthode - en utilisant la rédirection de shell
vaut peut être mieux de garder le fichier d'origine que tu pourras supprimer après
donc on va diriger le résultat dans un nouveau fichier qu'on l'appelera fic_ecart par exemple
1ère méthode - en utilisant la rédirection de shell
perl cyg.pl > fic_ecart2ème méthode - ouverture d'un handle en écriture vers fic_ecart
#!/usr/bin/perl use strict;use warnings; my($c3,$c4,$m4,$m5,$n,$e1,$e2); open ECRIRE,">fic_ecart" or die "E/S : $!\n"; open F,"fic" or die "E/S : $!\n"; while(<F>){ next if /^\s*$/; my @col=(split /\s+/,$_)[3,4]; $c3+=$col[0]; $c4+=$col[1]; ++$n; } $m4=$c3/$n; $m5=$c4/$n; $e1=sqrt((($c3-$m4)^2) / $n); $e2=sqrt((($c4-$m5)^2) / $n); printf ECRIRE "\t\t%s\t\t%s\t\t%s\n"," Total","Moyenne","Ecart type"; printf ECRIRE "Colonne 4 :\t% .2f\t% .2f\t\t% .2f\n",$c3,$m4,$e1; printf ECRIRE "Colonne 5 :\t% 8.2f\t% .2f\t\t% .2f\n\n",$c4,$m5,$e2; close F; open F,"fic" or die "E/S : $!\n"; while(<F>){ my @col=(split /\s+/,$_)[3,4]; s/(.*)\s+\d.*/$1 0.1/ if (abs($col[0] - $m4) < $e1) || (abs($col[1] - $m5) < $e2); print ECRIRE; } close F; __END__
merci lami20j, tout mes respect,
si vous souveniez du probléme, avant j avais besoin de copier 100 lignes d'un fichier et les mettres dans un autre, maintenant j ai besoin de mettre à jour mon premier fichier ça veut dire remplacer les anciens 100 lignes par les nouveaux (que je viens de calculer dans le fichier <fic_ecart>); vous pouvez m 'aider
merci d avance
CYG
si vous souveniez du probléme, avant j avais besoin de copier 100 lignes d'un fichier et les mettres dans un autre, maintenant j ai besoin de mettre à jour mon premier fichier ça veut dire remplacer les anciens 100 lignes par les nouveaux (que je viens de calculer dans le fichier <fic_ecart>); vous pouvez m 'aider
merci d avance
CYG