Agregation de données et comptage de lignes
Résolu
deeper
-
deeper -
deeper -
Bonjour à tous,
Je coince un peu (carrément en fait) sur le problème suivant :
J'ai un fichier contenant
A;1;C;X;123456
A;1;C;X;234567
A;1;C;Y;345678
A;2;D;X;456789
B;1;D;X;567890
B;1;D;X;567891
B;1;D;X;567892
Et je souhaiterais agreger ces données + compter les lignes sous la forme :
2;A;1;C;X
1;A;1;C;Y
1;A;2;D;X
3;B;1;D;X
la première colonne devenant le comptage des occurrences
Je pense utiliser AWK, mais je ne suis pas un expert sur le sujet.
Faut il parcourir tout le fichier en incrémentant un compteur ou existe t'il une méthode plus simple ?
Est-ce qu'une ame généreuse pourrait éclaire ma lanterne ?
Merci d'avance
Deeper
Je coince un peu (carrément en fait) sur le problème suivant :
J'ai un fichier contenant
A;1;C;X;123456
A;1;C;X;234567
A;1;C;Y;345678
A;2;D;X;456789
B;1;D;X;567890
B;1;D;X;567891
B;1;D;X;567892
Et je souhaiterais agreger ces données + compter les lignes sous la forme :
2;A;1;C;X
1;A;1;C;Y
1;A;2;D;X
3;B;1;D;X
la première colonne devenant le comptage des occurrences
Je pense utiliser AWK, mais je ne suis pas un expert sur le sujet.
Faut il parcourir tout le fichier en incrémentant un compteur ou existe t'il une méthode plus simple ?
Est-ce qu'une ame généreuse pourrait éclaire ma lanterne ?
Merci d'avance
Deeper
A voir également:
- Agregation de données et comptage de lignes
- Fuite données maif - Guide
- Partage de photos en ligne - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Reinstaller windows sans perte de données - Guide
5 réponses
Salut,
$ cat brol A;1;C;X;123456 A;1;C;X;234567 A;1;C;Y;345678 A;2;D;X;456789 B;1;D;X;567890 B;1;D;X;567891 B;1;D;X;567892 $ uniq -c -w7 brol | cut -d';' -f 1-4 2 A;1;C;X 1 A;1;C;Y 1 A;2;D;X 3 B;1;D;X $
salut,
Je pense utiliser AWK, mais je ne suis pas un expert sur le sujet.
Faut il parcourir tout le fichier en incrémentant un compteur [..] ?
C'est bien ça, tu es sur la bonne piste.
Continue.
Je pense utiliser AWK, mais je ne suis pas un expert sur le sujet.
Faut il parcourir tout le fichier en incrémentant un compteur [..] ?
C'est bien ça, tu es sur la bonne piste.
Continue.
Cool, merci.
J'ai pensé à ca du coup :
Est-ce que ca vous semble cohérent ?
Merci d'avance.
J'ai pensé à ca du coup :
awk -F' BEGIN {FS=OFS=";"; col1 = 0; col2 = 0; col3 = 0 ; col4 = 0; i = 0;} { if ($1 == col1) if($2 == col2) if($3 == col3) if($4 == col4) i++ else print i";"$1";"$2";"$3";"$4; col4=$4; i=1; else print i";"$1";"$2";"$3";"$4; col3=$3; col4=$4; i=1; else print i";"$1";"$2";"$3";"$4; col2=$2; col3=$3; col4=$4; i=1; else col1=$1; col2=$2; col3=$3; col4=$4; i++; if ( i > 0 ); print i";"$1";"$2";"$3";"$4; i=1; } END {print i";"$1";"$2";"$3";"$4}' monfichier
Est-ce que ca vous semble cohérent ?
Merci d'avance.
hello
$ awk -F ";" '{SUBSEP=FS; t[$1, $2, $3, $4]++} END{for(n in t)print t[n] FS n}' fichier 1;A;2;D;X 2;A;1;C;X 1;A;1;C;Y 3;B;1;D;X $
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question