-5
votes

Trouver la valeur la plus élevée dans une ligne d'un fichier avec des lignes multiples

J'ai un fichier avec des lignes différentes et souhaite trouver et émettre la valeur aiguë de chaque ligne à partir de la deuxième colonne. Il est possible dans BASH ou AWK?

Par exemple, le fichier a cette structure de format xxx

et je voudrais la sortie suivante xxx < / pré>

merci


1 commentaires

Pouvez-vous s'il vous plaît Modifier votre message et montrez-nous le code que vous avez déjà et nous dites également comment il échoue de faire ce que vous voulez ?


3 Réponses :


1
votes

C'est certainement possible dans tous les outils que vous avez marqué votre question avec. C'est trivial, par exemple, dans Perl.

mais la pile trop-fleuve n'est pas un service de rédaction de code et vous n'avez aucune preuve que vous avez écrit n'importe quel code pour résoudre le problème, donc je ne vais pas donner vous une solution. Voici un pseudocode que vous pouvez utiliser comme conception de votre solution. P>

WHILE you can read a line from the file
  SPLIT the input record on whitespace
  PRINT the first element of the split record
  CALCULATE the maximum value of the remaining element
  PRINT the maximum value
END WHILE
  • lire un enregistrement de données d'un fichier li>
  • Split une chaîne sur WhitSpace Li>
  • Données d'impression LI>
  • trouver le maximum dans une liste de valeurs li> ul> p>


0 commentaires

0
votes

Comme vous avez été marqué pour Perl:

$ perl dummy.pl
136     0.369326
137     0.520696
138     0.179164


1 commentaires

Bonjour, merci à tous pour votre aide. J'ai marqué le langage Perl avec Bash et Awk parce que je pensais qu'il serait plus facile de trouver une solution à mon simple problème. Je ne suis pas un programmeur (mais j'essaie de faire au mieux avec ce que je sais comme langue Bash / Awk ou éventuellement Fortran). En nous apportant votre aide avec votre approche Perl, vous m'avez aidé beaucoup et plus important encore j'ai appris. Le code que vous avez écrit m'aidera si j'ai un autre problème similaire du même genre. Merci encore



0
votes

Perl One-Liner

$ cat stephane.txt
136   0.369326 0.004999
137   0.003199 0.140172 0.055189 0.047191 0.520696 0.172565
138   0.000400 0.021596 0.095381 0.179164 0.065187

$ perl -lane ' @x=sort {$a<$b} @F[1..$#F]; print "$F[0] $x[0]" ' stephane.txt
136 0.369326
137 0.520696
138 0.179164

$


0 commentaires