chat monday.csvComment obtenir le nom du fichier d'entrée dans un Perl One-Liner?
223,22; 1256,4
227,08; 1244,8
228,08; 1244,7
229,13; 1255,0
227,89; 1243,2
224,77; 1277,8
chat tuesday.csv
227,02; 1266,3
227,09; 1234,9
225,18; 1244,7
224,13; 1255,3
228,59; 1263,2
224,70; 1247,6
Ce Perl one-liner me donne la ligne avec la valeur la plus élevée dans la la seconde colonne des rangées où dans la première colonne les 3 premiers chiffres sont 227 ou 226 à partir du fichier « monday.csv »:
$ perl -F\; -ane '$hash{$_} = $F[1] if /22[78]/; END{ print and exit for sort{ $hash{$b} <=> $hash{$a} } keys %hash }' monday.csv
Ce Perl one-liner me donne la ligne avec la valeur la plus élevée dans la deuxième colonne des lignes où dans la première colonne les 3 premiers chiffres sont 227 ou 226 de tous les fichiers * day.csv:
$ perl -F\; -ane '$hash{$_} = $F[1] if /22[78]/; END{ print and exit for sort{ $hash{$b} <=> $hash{$a} } keys %hash }' *day.csv
Comment ne réécrire celui-liner pour obtenir un signal de sortie:
filename: « ligne avec la valeur la plus élevée dans la deuxième colonne à partir des lignes où dans la première colonne les 3 premiers chiffres sont 227 ou 226 à partir de le fichier 'filename.csv' "
pour chaque fichier *day.csv
?
Je ne vois pas le problème avec des valeurs répétées. –
dans la première colonne. Mais je vois un problème avec des valeurs répétées dans la deuxième colonne. La raison est, il a oublié de mentionner, que je voudrais avoir la dernière valeur dans le fichier des valeurs les plus élevées s'il y a plus d'une valeur plus élevée par fichier. –
Mais je pense qu'il y a beaucoup d'erreurs dans votre deuxième one-liner. –