Si cela ne vous dérange pas d'écrire un petit script pour faire ce dont vous avez besoin, je vous recommande de le faire dans R , le système de statistiques open-source.
Par exemple, considérez ce one-liner pour obtenir une liste de 100 nombres distribués en gaussien:
$ Rscript -e 'write(rnorm(100) * 100 + 100, "", 1)'
234.2903
-25.53289
168.0262
-28.49810
105.0687
85.97355
269.5072
...
Décomposons cela.
La Rcommande standard vous amène dans un environnement de programmation interactif, ce qui est bien si vous essayez de savoir comment faire quelque chose à la main ou si vous construisez quelque chose de manière incrémentielle, mais d'après votre question, il semble que vous ayez juste besoin d'une liste de nombres pour envoyer à un autre programme. Donc, à la place, nous utilisons Rscript, qui se comporte plus comme un interpréteur de script Unix traditionnel: vous pouvez lui passer le nom d'un fichier contenant un script R, ou utiliser l' -eindicateur standard pour passer tout le texte du programme sur la ligne de commande.
rnorm()est la fonction R pour obtenir une liste de nombres aléatoires avec la distribution "normale" ou gaussienne. Il prend jusqu'à trois paramètres, seul le premier est requis, combien de nombres vous voulez. Nous avons demandé 100. En prenant les valeurs par défaut pour les deux autres paramètres facultatifs, nous obtenons une moyenne de 0 et un écart-type de 1.
L'arithmétique après cela montre juste une fonctionnalité intéressante du langage R: vous pouvez faire de l'arithmétique sur des tables de données entières, des matrices, etc., tout aussi facilement qu'une valeur scalaire dans un langage plus typique. J'ai multiplié toutes les valeurs générées par 100 et j'y ai ajouté 100, juste parce que je le peux. Parce que R est un langage de programmation à part entière, il n'y a aucune limite à ce que vous pourriez faire avec cette liste de nombres. C'est l'avantage d'utiliser un tel système au lieu d'une commande à usage fixe comme jot.
Nous transmettons le résultat de cette opération précédente à la write()fonction, qui écrit les données dans un fichier par défaut, mais nous l'avons remplacé en transmettant une chaîne vide pour le deuxième paramètre, le nom du fichier, de sorte qu'il écrit le tableau dans le terminal à la place. Le paramètre suivant,, 1indique simplement que nous voulons notre sortie au format à colonne unique.
R a de nombreuses autres fonctions de génération de nombres aléatoires intégrées au système de base. Par exemple, nous pouvons imiter la jotcommande dans la réponse de lcpriani avec ce script:
$ Rscript -e 'write(round(runif(10, 12, 27)), "", 1)'
Ici, nous utilisons runif()pour obtenir 10 nombres aléatoires uniformément distribués de 12 à 27. Comme rnorm(), que nous avons utilisé ci-dessus, cette fonction renvoie des valeurs à virgule flottante, nous devons donc les round()affecter à leurs valeurs entières les plus proches avant de les écrire à l'écran.
R dispose également d'un riche ensemble de modules complémentaires dans CRAN , un référentiel de packages modélisé sur le CPAN de Perl. Celui qui pourrait vous intéresser est simplement appelé random , qui sert d'interface à random.org , un service qui renvoie de vrais nombres aléatoires générés à partir du bruit atmosphérique.
R est un environnement de programmation complet, il se peut donc que vous n'ayez pas réellement besoin de sortir vos numéros de R au format texte. Vous pourrez peut-être résoudre votre problème entièrement dans R. Essayez-le.