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: Dito Ramos
Subject: RE: [shell-script] Imprimir sequência de números randomicamente, SEM REPETIÇÃO
Date: Tue, 02 May 2017 19:47:30 -0300

 

 

 

De: "Dito Ramos" <address@hidden>
Enviada: 2017/05/02 18:17:25
Para: address@hidden, address@hidden
Assunto: RE: [shell-script] Imprimir sequência de números randomicamente, SEM REPETIÇÃO
 
Celo, obrigado.
Seu retorno será muito útil para eu "desenferrujar" meus conhecimentos em shell aqui.

Pessoal, olhem só:
Seguindo a sua linha de raciocínio, fiz o seguinte:

#!/bin/bash
IFS=''
for arquivo_novo in `paste -d "-" <(seq -f "%03g" 2 2 984 | tr ' ' '\n' | shuf)  <(ls meu_diretorio)`
do
    arquivo_original=$(echo $arquivo_novo | awk -F- '{$1="";print $0}')
    echo $arquivo_original
    echo $arquivo_novo
done

O que eu preciso é que a saída seja assim, por exemplo:

Chico Buarque - Construção
402-Chico Buarque - Construção
Vinicius de Moraes - Garota de Ipanema
204-Vinicius de Moraes - Garota de Ipanema
....e assim por diante.

Porque futuramente vou dar um $ mv  $arquivo original $arquivo novo, entendem?

Mas o que tá acontecendo é que o script está mostrando toda listagem dos arquivos com nomes originais e, ao término, lista os arquivos com a numeração no início.
E aí não dá prá eu fazer o que preciso.
Podem ajudar, me dizendo onde estou errando?
Grato mais uma vez.

Dito Ramos

De: "celo address@hidden [shell-script]" <address@hidden>
Enviada: 2017/05/02 16:48:52
Para: address@hidden
Assunto: Re: [shell-script] Imprimir sequência de números randomicamente, SEM REPETIÇÃO
 
 

 

 
Olá, aproveitando que eu também estou dando uma desenferrujada no shellscript, vi por acaso esse problema de shell descrito pelo Dito Ramos e resolvi tentar ajudar; segue meu POG shell:
marceloss@braquiossauro:~/code/shell$ cat random500
#!/bin/bash
for i in $(($RANDOM%500))
     do
    var=$i
    if (($(($i%2)) == 0))
        then
        echo $var
        else
        source $0
    fi
done
 
Espero que ajude, []z
Marcelo Scrup

 
On Tuesday, May 2, 2017, 1:53:21 PM GMT-3, Leslie Watter address@hidden [shell-script] <address@hidden> wrote:
 

 

Tá tudo em casa Itamar ;-)
 
Normalmente vc é quem chega primeiro com uma solução mirabolante! 
 
Abração
 
2017-05-02 12:34 GMT-03:00 address@hidden [shell-script] <address@hidden>:
 

Dito obrigado pela citação,

 
mas os mérito são do Casanova e Leslie apenas que ofereceram soluções.
 
Somente agora, com o problema já resolvido, que vejo essa "postagem" e já bem encaminhada.
 
Aos amigos Casanova e Leslie fica aqui minha reverência as soluções oferecidas, mas infelizmente no momento não possa testar e nem oferecer uma solução alternativa para uma comparação
 
 
[]'s
Itamar

 

 
 
 
--
Leslie H. Watter
 

 


reply via email to

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