shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Imprimir sequência de números randomicamente, SEM REP


From: Leslie Watter
Subject: Re: [shell-script] Imprimir sequência de números randomicamente, SEM REPETIÇÃO
Date: Tue, 2 May 2017 11:50:34 -0300

Oi Ditto,

Misturei um pouco a tua solução pros numeros pares e coloquei em uma variável, junto com a solução em [0] e saiu o seguinte:

---------------------------------------------------------------------------------------------------------------------
PARES=$(for i in `seq 2 2 501`; do echo -n "$i;";  done  )

array=( $(echo "$PARES" | sed -r 's/(.[^;]*;)/ \1 /g' | tr " " "\n" | shuf | tr -d " " ) )

 for i in {1..249}; do 
     echo ${array[i]}
 done
---------------------------------------------------------------------------------------------------------------------

Isso deve cuspir a sequencia aleatória pra vc só dos números pares.


Só pra efeito de explicação, segue a saida dos comandos

$ echo $PARES
2;4;6;8;10;12;14;16;18;20;22;24;26;28;30;32;34;36;38;40;42;44;46;48;50;52;54;56;58;60;62;64;66;68;70;72;74;76;78;80;82;84;86;88;90;92;94;96;98;100;102;104;106;108;110;112;114;116;118;120;122;124;126;128;130;132;134;136;138;140;142;144;146;148;150;152;154;156;158;160;162;164;166;168;170;172;174;176;178;180;182;184;186;188;190;192;194;196;198;200;202;204;206;208;210;212;214;216;218;220;222;224;226;228;230;232;234;236;238;240;242;244;246;248;250;252;254;256;258;260;262;264;266;268;270;272;274;276;278;280;282;284;286;288;290;292;294;296;298;300;302;304;306;308;310;312;314;316;318;320;322;324;326;328;330;332;334;336;338;340;342;344;346;348;350;352;354;356;358;360;362;364;366;368;370;372;374;376;378;380;382;384;386;388;390;392;394;396;398;400;402;404;406;408;410;412;414;416;418;420;422;424;426;428;430;432;434;436;438;440;442;444;446;448;450;452;454;456;458;460;462;464;466;468;470;472;474;476;478;480;482;484;486;488;490;492;494;496;498;500;


$ for i in {1..249}; do echo -n ${array[i]} " __ "; done 
250;  __ 460;  __ 328;  __ 406;  __ 212;  __ 136;  __ 108;  __ 364;  __ 86;  __ 24;  __ 312;  __ 496;  __ 104;  __ 432;  __ 268;  __ 214;  __ 8;  __ 278;  __ 142;  __ 352;  __ 34;  __ 164;  __ 204;  __ 186;  __ 38;  __ 466;  __ 390;  __ 302;  __ 18;  __ 64;  __ 292;  __ 244;  __ 400;  __ 486;  __ 74;  __ 230;  __ 122;  __ 456;  __ 370;  __ 338;  __ 156;  __ 152;  __ 210;  __ 500;  __ 402;  __ 252;  __ 76;  __ 470;  __ 326;  __ 240;  __ 438;  __ 314;  __ 360;  __ 260;  __ 300;  __ 290;  __ 36;  __ 294;  __ 418;  __ 376;  __ 372;  __ 232;  __ 42;  __ 306;  __ 478;  __ 350;  __ 394;  __ 140;  __ 208;  __ 238;  __ 22;  __ 288;  __ 380;  __ 482;  __ 348;  __ 386;  __ 20;  __ 446;  __ 480;  __ 158;  __ 440;  __ 56;  __ 94;  __ 12;  __ 474;  __ 450;  __ 178;  __ 410;  __ 488;  __ 384;  __ 344;  __ 130;  __ 72;  __ 422;  __ 58;  __ 264;  __ 434;  __ 420;  __ 320;  __ 40;  __ 266;  __ 258;  __ 32;  __ 226;  __ 150;  __ 256;  __ 222;  __ 448;  __ 356;  __ 6;  __ 144;  __ 180;  __ 458;  __ 126;  __ 138;  __ 414;  __ 346;  __ 196;  __ 462;  __ 368;  __ 298;  __ 174;  __ 228;  __ 354;  __ 316;  __ 276;  __ 114;  __ 52;  __ 468;  __ 444;  __ 202;  __ 62;  __ 162;  __ 272;  __ 194;  __ 296;  __ 216;  __ 50;  __ 168;  __ 284;  __ 154;  __ 408;  __ 206;  __ 358;  __ 366;  __ 396;  __ 442;  __ 412;  __ 334;  __ 242;  __ 224;  __ 172;  __ 332;  __ 220;  __ 128;  __ 112;  __ 280;  __ 30;  __ 176;  __ 46;  __ 340;  __ 148;  __ 484;  __ 68;  __ 200;  __ 14;  __ 378;  __ 424;  __ 274;  __ 476;  __ 218;  __ 182;  __ 330;  __ 78;  __ 84;  __ 392;  __ 188;  __ 48;  __ 336;  __ 10;  __ 342;  __ 28;  __ 70;  __ 134;  __ 96;  __ 198;  __ 106;  __ 262;  __ 184;  __ 374;  __ 192;  __ 494;  __ 132;  __ 102;  __ 310;  __ 430;  __ 426;  __ 388;  __ 308;  __ 26;  __ 318;  __ 170;  __ 270;  __ 324;  __ 44;  __ 80;  __ 454;  __ 2;  __ 248;  __ 236;  __ 404;  __ 4;  __ 146;  __ 90;  __ 124;  __ 100;  __ 92;  __ 166;  __ 118;  __ 428;  __ 98;  __ 436;  __ 16;  __ 60;  __ 116;  __ 490;  __ 286;  __ 464;  __ 88;  __ 120;  __ 322;  __ 472;  __ 66;  __ 160;  __ 498;  __ 282;  __ 54;  __ 452;  __ 416;  __ 234;  __ 82;  __ 110;  __ 362;  __ 382;  __ 492;  __ 304;  __ 190;  __ 246;  __ 398;  __  __ 


[]s

LEslie




[0] - http://stackoverflow.com/questions/5533569/simple-method-to-shuffle-the-elements-of-an-array-in-bash-shell

2017-05-02 11:34 GMT-03:00 Dito Ramos address@hidden [shell-script] <address@hidden>:
 

 

Mestres,
Eu me aposentei do serviço e dei uma "travada" aqui em shell script.
Agora estou, aos poucos, voltando a dar uma mexida.
Portanto, perdoem se a questão é muito "boba"
Vamos lá:
Preciso imprimir de 1 a 500, somente números pares.
Até aí, tudo bem. Fiz assim:

#!/bin/bash
for ((i=1;i<501;i++))
do
 (( $i % 2 == 0 )) && echo $i
done

Porém, preciso imprimir essa sequência randomicamente, mas sem repetir nenhum número, de forma que me seja retornado os 250 números da cadeia.
Sei que tem a variável $random. Mas não estou sabendo usar para este caso.
Podem ajudar?

Grato

Dito Ramos 
 




--
Leslie H. Watter

reply via email to

[Prev in Thread] Current Thread [Next in Thread]