Est-ce que quelqu'un a un simple script shell ou un programme c pour générer des fichiers aléatoires d'une taille avec un contenu aléatoire sous Linux?Code de générateur de fichier aléatoire?
Répondre
Que diriez-vous:
head -c SIZE /dev/random > file
Python. Appelez-le make_random.py
#!/usr/bin/env python
import random
import sys
import string
size = int(sys.argv[1])
for i in xrange(size):
sys.stdout.write(random.choice(string.printable))
Utilisez comme ça
./make_random 1024 >some_file
qui va écrire 1024 octets à stdout, que vous pouvez capturer dans un fichier. Selon l'encodage de votre système, il ne sera probablement pas lisible en tant qu'Unicode.
Voici un rapide script que j'ai écrit en Perl. Il vous permet de contrôler la plage de caractères qui sera dans le fichier généré.
#!/usr/bin/perl
if ($#ARGV < 1) { die("usage: <size_in_bytes> <file_name>\n"); }
open(FILE,">" . $ARGV[0]) or die "Can't open file for writing\n";
# you can control the range of characters here
my $minimum = 32;
my $range = 96;
for ($i=0; $i< $ARGV[1]; $i++) {
print FILE chr(int(rand($range)) + $minimum);
}
close(FILE);
Pour utiliser:
./script.pl file 2048
est ici une version plus courte, basée sur l'idée de S. Lott de sortie à STDOUT:
#!/usr/bin/perl
# you can control the range of characters here
my $minimum = 32;
my $range = 96;
for ($i=0; $i< $ARGV[0]; $i++) {
print chr(int(rand($range)) + $minimum);
}
Attention: C'est le premier script que j'ai écrit en Perl. Déjà. Mais cela semble fonctionner correctement.
Vous pouvez utiliser mon script generate_random_file.py (Python 3) que j'ai utilisé pour générer des données de test dans un de mes projets.
- Il fonctionne à la fois sur Linux et Windows.
- Il est très rapide, car il utilise
os.urandom()
pour générer les données aléatoires en blocs de 256 KiB au lieu de générer et d'écrire chaque octet séparément.
openssl rand
peut être utilisé pour générer des octets aléatoires. La commande est ci-dessous:
openssl rand [bytes] -out [filename]
Par exemple, openssl rand 2048 -out aaa
va générer un fichier nommé aaa
contenant 2048 octets aléatoires.
Voici quelques façons:
Python:
RandomData = file("/dev/urandom", "rb").read(1024)
file("random.txt").write(RandomData)
Bash:
dd if=/dev/urandom of=myrandom.txt bs=1024 count=1
utilisant C:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int byte_count = 1024;
char data[4048];
FILE *fp;
fp = fopen("/dev/urandom", "rb");
fread(&data, 1, byte_count, fp);
int n;
FILE *rand;
rand=fopen("test.txt", "w");
fprintf(rand, data);
fclose(rand);
fclose(rand);
}
Je ne pense pas que le code C est valide. Vous obtiendrez un coredump si vous essayez de l'exécuter. – schaiba
- 1. générateur de texte aléatoire
- 2. générateur aléatoire angle
- 3. avatar générateur aléatoire
- 4. Générateur aléatoire JSON
- 5. Générateur de nombre aléatoire dans CUDA
- 6. Générateur de phrases anglais aléatoire simple
- 7. Fonction générateur de nombre aléatoire nasm
- 8. Générateur de polygone aléatoire mais régulier
- 9. C# Un générateur BigInt aléatoire
- 10. Générateur de code Cairngorm
- 11. Générateur de code XSD
- 12. Problème de générateur de message de chargement aléatoire JavaScript
- 13. binomiale aléatoire Variate Générateur sur CUDA
- 14. Générateur de code javascript/jQuery
- 15. Générateur de code en C#
- 16. Utilisation du générateur de nombre aléatoire boost avec OpenMP
- 17. Générateur de séquences pseudo-aléatoire non seulement un générateur de nombres
- 18. code source php pour générateur de fichier PO
- 19. générateur de citation aléatoire en php en utilisant mysql
- 20. Générateur de nombres entiers "feeling" aléatoire pour les séquences courtes
- 21. générateur pseudo-aléatoire rapide pour le contenu de la procédure
- 22. Meilleur générateur de fichier XSD
- 23. Générateur de code de schéma XML C++
- 24. Web Code de référence modèle générateur
- 25. Générateur de code RELAX NG C++?
- 26. Meilleur générateur de code python/Django?
- 27. Générateur de code pour les classes wrapper
- 28. Visual Basic 6.0 Générateur de code
- 29. Générateur d'image de code-barres PHP
- 30. Générateur de fichier de configuration Python
Si vous pouvez sacrifier une certaine entropie vous pouvez aussi utilisez/dev/urandom à la place. Ce sera plus rapide car cela ne bloquera pas l'attente d'une augmentation du bruit ambiant –
Bonne suggestion.Oui, il n'a pas besoin d'être parfaitement aléatoire. – Matt
Parfait. Fait le travail. – Matt