0.0023129252 0.68157959
0.0023356009 0.68902588
0.0023582766 0.71615601
0.0023809524 0.72515869 <--
0.0024036281 0.71878052
0.0024263039 0.72677612 <= > 0.0024489796 0.71615601
0.0024716553 0.70773315
0.0024943311 0.68917847
Ce second nombre représentant lui-même des échantillons d'une onde
sonore de composition spectrale très pauvre, passe toutes les 50 à 200
lignes par un vrai maximum comme celui de la ligne 6. Deux maximums
successifs sont séparés par un minimum dont la valeur est au moins 10
fois plus faible, ce qui permet de les distinguer de quelques faux
maximums comme celui de la ligne 4.
Je voudrais écrire un script dont l'exécution réduise ce fichier aux
seules lignes contenant ces vrais maximums. Quelles commandes ou quel
langage de programmation, et donc quelles pages de manuel me conseillez
vous, sachant que mes connaissances sont des plus modestes ?
[...]
0.0023129252 0.68157959
0.0023356009 0.68902588
0.0023582766 0.71615601
0.0023809524 0.72515869 <--
0.0024036281 0.71878052
0.0024263039 0.72677612 <= > 0.0024489796 0.71615601
0.0024716553 0.70773315
0.0024943311 0.68917847
Ce second nombre représentant lui-même des échantillons d'une onde
sonore de composition spectrale très pauvre, passe toutes les 50 à 200
lignes par un vrai maximum comme celui de la ligne 6. Deux maximums
successifs sont séparés par un minimum dont la valeur est au moins 10
fois plus faible, ce qui permet de les distinguer de quelques faux
maximums comme celui de la ligne 4.
Je voudrais écrire un script dont l'exécution réduise ce fichier aux
seules lignes contenant ces vrais maximums. Quelles commandes ou quel
langage de programmation, et donc quelles pages de manuel me conseillez
vous, sachant que mes connaissances sont des plus modestes ?
[...]
0.0023129252 0.68157959
0.0023356009 0.68902588
0.0023582766 0.71615601
0.0023809524 0.72515869 <--
0.0024036281 0.71878052
0.0024263039 0.72677612 <= > 0.0024489796 0.71615601
0.0024716553 0.70773315
0.0024943311 0.68917847
Ce second nombre représentant lui-même des échantillons d'une onde
sonore de composition spectrale très pauvre, passe toutes les 50 à 200
lignes par un vrai maximum comme celui de la ligne 6. Deux maximums
successifs sont séparés par un minimum dont la valeur est au moins 10
fois plus faible, ce qui permet de les distinguer de quelques faux
maximums comme celui de la ligne 4.
Je voudrais écrire un script dont l'exécution réduise ce fichier aux
seules lignes contenant ces vrais maximums. Quelles commandes ou quel
langage de programmation, et donc quelles pages de manuel me conseillez
vous, sachant que mes connaissances sont des plus modestes ?
[...]
2004-11-24, 18:09(+01), geo cherchetout:
[...]0.0023129252 0.68157959
0.0023356009 0.68902588
0.0023582766 0.71615601
0.0023809524 0.72515869 <--
0.0024036281 0.71878052
0.0024263039 0.72677612 <= > > 0.0024489796 0.71615601
0.0024716553 0.70773315
0.0024943311 0.68917847
Ce second nombre représentant lui-même des échantillons d'une onde
sonore de composition spectrale très pauvre, passe toutes les 50 à 200
lignes par un vrai maximum comme celui de la ligne 6. Deux maximums
successifs sont séparés par un minimum dont la valeur est au moins 10
fois plus faible, ce qui permet de les distinguer de quelques faux
maximums comme celui de la ligne 4.
Je voudrais écrire un script dont l'exécution réduise ce fichier aux
seules lignes contenant ces vrais maximums. Quelles commandes ou quel
langage de programmation, et donc quelles pages de manuel me conseillez
vous, sachant que mes connaissances sont des plus modestes ?
[...]
awk est pile-poil ce qu'il te faut:
#! /usr/bin/awk -f
# Usage: script.awk < fichier.in > fichier.out
$2 > max {
max = $2
ligne = $0
next
}
10 * $2 < max {
print ligne
max = 0
}
END {
if (max) print ligne
}
2004-11-24, 18:09(+01), geo cherchetout:
[...]
0.0023129252 0.68157959
0.0023356009 0.68902588
0.0023582766 0.71615601
0.0023809524 0.72515869 <--
0.0024036281 0.71878052
0.0024263039 0.72677612 <= > > 0.0024489796 0.71615601
0.0024716553 0.70773315
0.0024943311 0.68917847
Ce second nombre représentant lui-même des échantillons d'une onde
sonore de composition spectrale très pauvre, passe toutes les 50 à 200
lignes par un vrai maximum comme celui de la ligne 6. Deux maximums
successifs sont séparés par un minimum dont la valeur est au moins 10
fois plus faible, ce qui permet de les distinguer de quelques faux
maximums comme celui de la ligne 4.
Je voudrais écrire un script dont l'exécution réduise ce fichier aux
seules lignes contenant ces vrais maximums. Quelles commandes ou quel
langage de programmation, et donc quelles pages de manuel me conseillez
vous, sachant que mes connaissances sont des plus modestes ?
[...]
awk est pile-poil ce qu'il te faut:
#! /usr/bin/awk -f
# Usage: script.awk < fichier.in > fichier.out
$2 > max {
max = $2
ligne = $0
next
}
10 * $2 < max {
print ligne
max = 0
}
END {
if (max) print ligne
}
2004-11-24, 18:09(+01), geo cherchetout:
[...]0.0023129252 0.68157959
0.0023356009 0.68902588
0.0023582766 0.71615601
0.0023809524 0.72515869 <--
0.0024036281 0.71878052
0.0024263039 0.72677612 <= > > 0.0024489796 0.71615601
0.0024716553 0.70773315
0.0024943311 0.68917847
Ce second nombre représentant lui-même des échantillons d'une onde
sonore de composition spectrale très pauvre, passe toutes les 50 à 200
lignes par un vrai maximum comme celui de la ligne 6. Deux maximums
successifs sont séparés par un minimum dont la valeur est au moins 10
fois plus faible, ce qui permet de les distinguer de quelques faux
maximums comme celui de la ligne 4.
Je voudrais écrire un script dont l'exécution réduise ce fichier aux
seules lignes contenant ces vrais maximums. Quelles commandes ou quel
langage de programmation, et donc quelles pages de manuel me conseillez
vous, sachant que mes connaissances sont des plus modestes ?
[...]
awk est pile-poil ce qu'il te faut:
#! /usr/bin/awk -f
# Usage: script.awk < fichier.in > fichier.out
$2 > max {
max = $2
ligne = $0
next
}
10 * $2 < max {
print ligne
max = 0
}
END {
if (max) print ligne
}
Quelles commandes ou quel langage de programmation
Quelles commandes ou quel langage de programmation
Quelles commandes ou quel langage de programmation
Il me semble que ça ne fonctionne pas:
[ pascal]$ cat data data data > data2
[ pascal]$ script.awk < data2
0.0024263039 0.72677612 <=
Merci déjà à vous deux.
[ pascal]$ cat script.awk
#! /usr/bin/awk -f
# Usage: script.awk < fichier.in > fichier.out
BEGIN {
max=-1;
max_nr=-1;
}
{
if(max<$2){
line=$0;
max=$2;
max_nr=NR;
}else{
if(NR==max_nr+2){
print line;
max=-1;
max_nr=-1;
}
}
}
END{
if(max>=0){
print line;
}
}
Il me semble que ça ne fonctionne pas:
[pascal@thalassa pascal]$ cat data data data > data2
[pascal@thalassa pascal]$ script.awk < data2
0.0024263039 0.72677612 <=
Merci déjà à vous deux.
[pascal@thalassa pascal]$ cat script.awk
#! /usr/bin/awk -f
# Usage: script.awk < fichier.in > fichier.out
BEGIN {
max=-1;
max_nr=-1;
}
{
if(max<$2){
line=$0;
max=$2;
max_nr=NR;
}else{
if(NR==max_nr+2){
print line;
max=-1;
max_nr=-1;
}
}
}
END{
if(max>=0){
print line;
}
}
Il me semble que ça ne fonctionne pas:
[ pascal]$ cat data data data > data2
[ pascal]$ script.awk < data2
0.0024263039 0.72677612 <=
Merci déjà à vous deux.
[ pascal]$ cat script.awk
#! /usr/bin/awk -f
# Usage: script.awk < fichier.in > fichier.out
BEGIN {
max=-1;
max_nr=-1;
}
{
if(max<$2){
line=$0;
max=$2;
max_nr=NR;
}else{
if(NR==max_nr+2){
print line;
max=-1;
max_nr=-1;
}
}
}
END{
if(max>=0){
print line;
}
}
Le 24.11.2004 19:28, *Pascal Bourguignon* a écrit fort à propos :Il me semble que ça ne fonctionne pas:
[ pascal]$ cat data data data > data2
[ pascal]$ script.awk < data2
0.0024263039 0.72677612 <= >
Merci déjà à vous deux.
Je n'ai pas encore tout compris, et il me faudra un certain nombre
d'heures pour cela, mais le fichier que tu construis pour ton test ne
comporte pas les minimums que comporte mon vrai fichier.
Testé sur ce vrai fichier, le seul défaut du script de Stéphane est
qu'il ne conserve que les maximums égaux à 1 ou presque. On est tout
près du but, j'ai l'impression.
[...]
Le 24.11.2004 19:28, *Pascal Bourguignon* a écrit fort à propos :
Il me semble que ça ne fonctionne pas:
[pascal@thalassa pascal]$ cat data data data > data2
[pascal@thalassa pascal]$ script.awk < data2
0.0024263039 0.72677612 <= >
Merci déjà à vous deux.
Je n'ai pas encore tout compris, et il me faudra un certain nombre
d'heures pour cela, mais le fichier que tu construis pour ton test ne
comporte pas les minimums que comporte mon vrai fichier.
Testé sur ce vrai fichier, le seul défaut du script de Stéphane est
qu'il ne conserve que les maximums égaux à 1 ou presque. On est tout
près du but, j'ai l'impression.
[...]
Le 24.11.2004 19:28, *Pascal Bourguignon* a écrit fort à propos :Il me semble que ça ne fonctionne pas:
[ pascal]$ cat data data data > data2
[ pascal]$ script.awk < data2
0.0024263039 0.72677612 <= >
Merci déjà à vous deux.
Je n'ai pas encore tout compris, et il me faudra un certain nombre
d'heures pour cela, mais le fichier que tu construis pour ton test ne
comporte pas les minimums que comporte mon vrai fichier.
Testé sur ce vrai fichier, le seul défaut du script de Stéphane est
qu'il ne conserve que les maximums égaux à 1 ou presque. On est tout
près du but, j'ai l'impression.
[...]
Voilà une idée de départ (si j'ai bien compris ton problème):
Voilà une idée de départ (si j'ai bien compris ton problème):
Voilà une idée de départ (si j'ai bien compris ton problème):
Le 24.11.2004 23:27, *Jérémy JUST* a écrit fort à propos :Voilà une idée de départ (si j'ai bien compris ton problème):
Pour une idée de départ, elle s'avère déjà presque utilisable telle
quelle.
Le 24.11.2004 23:27, *Jérémy JUST* a écrit fort à propos :
Voilà une idée de départ (si j'ai bien compris ton problème):
Pour une idée de départ, elle s'avère déjà presque utilisable telle
quelle.
Le 24.11.2004 23:27, *Jérémy JUST* a écrit fort à propos :Voilà une idée de départ (si j'ai bien compris ton problème):
Pour une idée de départ, elle s'avère déjà presque utilisable telle
quelle.
Ca serait peut-etre mieux comme ca:
Ca serait peut-etre mieux comme ca:
Ca serait peut-etre mieux comme ca:
Je viens d'essayer ton amélioration de 9h48 qui ne pourrait que diminuer
le nombre des lignes sauvegardées, et le résultat est identique à celui
de ton premier script : Seuls 2 "super-maximums" sont retenus au lieu de
la centaine attendus sur mon fichier de 5000 lignes :
$ cat magnetic_sc.lite
0.070362812 1
0.096462585 1
[...]
Je viens d'essayer ton amélioration de 9h48 qui ne pourrait que diminuer
le nombre des lignes sauvegardées, et le résultat est identique à celui
de ton premier script : Seuls 2 "super-maximums" sont retenus au lieu de
la centaine attendus sur mon fichier de 5000 lignes :
$ cat magnetic_sc.lite
0.070362812 1
0.096462585 1
[...]
Je viens d'essayer ton amélioration de 9h48 qui ne pourrait que diminuer
le nombre des lignes sauvegardées, et le résultat est identique à celui
de ton premier script : Seuls 2 "super-maximums" sont retenus au lieu de
la centaine attendus sur mon fichier de 5000 lignes :
$ cat magnetic_sc.lite
0.070362812 1
0.096462585 1
[...]
Peux-tu donner un exemple d'un maximum (avec son contexte) qui
aurait du etre affiché ?
precedé d'un minimum 10 fois plus petit que lui ? Auquel cas, il
pourrait s'agir d'un bug de ton awk. Tu es sur quel systeme ?
J'obtiens:
0 0.2 -max
0 0.1 -max
0 0.002 -max
Ce qui est bien ce que j'attends. Maintenant, peut-etre que je
n'ai pas bien compris la question.
Peux-tu donner un exemple d'un maximum (avec son contexte) qui
aurait du etre affiché ?
precedé d'un minimum 10 fois plus petit que lui ? Auquel cas, il
pourrait s'agir d'un bug de ton awk. Tu es sur quel systeme ?
J'obtiens:
0 0.2 -max
0 0.1 -max
0 0.002 -max
Ce qui est bien ce que j'attends. Maintenant, peut-etre que je
n'ai pas bien compris la question.
Peux-tu donner un exemple d'un maximum (avec son contexte) qui
aurait du etre affiché ?
precedé d'un minimum 10 fois plus petit que lui ? Auquel cas, il
pourrait s'agir d'un bug de ton awk. Tu es sur quel systeme ?
J'obtiens:
0 0.2 -max
0 0.1 -max
0 0.002 -max
Ce qui est bien ce que j'attends. Maintenant, peut-etre que je
n'ai pas bien compris la question.