[BASH] Génération nombre aléatoire
Résolu/Fermé
patrice86
Messages postés
1378
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
-
Modifié par patrice86 le 5/11/2014 à 15:20
patrice86 Messages postés 1378 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 26 novembre 2023 - 7 nov. 2014 à 16:02
patrice86 Messages postés 1378 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 26 novembre 2023 - 7 nov. 2014 à 16:02
A voir également:
- [BASH] Génération nombre aléatoire
- Génération processeur amd - Guide
- Nombre facile - Télécharger - Outils professionnels
- Generation mot de passe - Télécharger - Sécurité
- Minimal bash-like line editing is supported ✓ - Forum Linux / Unix
- Le nombre de tentatives de déverrouillage incorrectes est trop élevé samsung ✓ - Forum Samsung
4 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 620
7 nov. 2014 à 15:57
7 nov. 2014 à 15:57
non, sans le -2, awk va traiter $size et $$ comme des noms de fichiers à lire
il faudrait plutot passer par des variables
il faudrait plutot passer par des variables
awk -v v1=$size -v v2=$$ 'BEGIN{srand(v2); line=int(rand() * (v1)) + 1}NR==line{print}' $input
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 620
Modifié par dubcek le 6/11/2014 à 08:34
Modifié par dubcek le 6/11/2014 à 08:34
hello
ARGC est le nombre d'arguments passés à awk (3 : $input $size $$)
en le décrementant de 2, on ne garde que $input, les 2 autres ayant été traités par srand et rand
ARGC est le nombre d'arguments passés à awk (3 : $input $size $$)
en le décrementant de 2, on ne garde que $input, les 2 autres ayant été traités par srand et rand
patrice86
Messages postés
1378
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
125
Modifié par patrice86 le 7/11/2014 à 15:26
Modifié par patrice86 le 7/11/2014 à 15:26
Il n'était pas possible de faire ?
awk 'BEGIN{srand(ARGV[3]); line=int(rand() * (ARGV[2])) + 1;ARGV[1]}NR=R=line{print}' $input $size $$
Google est ton ami :)
awk 'BEGIN{srand(ARGV[3]); line=int(rand() * (ARGV[2])) + 1;ARGV[1]}NR=R=line{print}' $input $size $$
Google est ton ami :)
patrice86
Messages postés
1378
Date d'inscription
dimanche 26 octobre 2008
Statut
Membre
Dernière intervention
26 novembre 2023
125
7 nov. 2014 à 16:02
7 nov. 2014 à 16:02
Merci dubcek, c'est bien clair maintenant =)