Script para criação de pastas condição matemática [RESOLVIDO]

1. Script para criação de pastas condição matemática [RESOLVIDO]

Caio Zanvettor
zanvettor

(usa Ubuntu)

Enviado em 18/02/2013 - 07:21h

Olá pessoal,sou novo no linux e estou precisando de ajuda para criação de um script. Eu quero criar varias pastas com os nomes ( Cu0Ag55 ; Cu1Ag54; Cu2Ag53 ... Cu54Ag1 ; Cu55Ag0).

Depois de pesquisar aqui no site, inocentemente eu dei o comando mkdir [*****]{0..55}Ag{55..0} e obviamente nao deu certo por que ele criou pastas com todas as combinações possiveis de 0 a 55 pra [*****] e Ag. Eu preciso que ele fixar a soma em 55. Ou seja se CuXAgY X+Y deve ser igual a 55. obrigado!


  


2. MELHOR RESPOSTA

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 19/02/2013 - 11:37h

Captei a vossa mensagem..

Fiz o teste aqui e deu certo, deve-se primeiro criar uma variável que contenha o nome exato da pasta, pois o mkdir já cria o arquivo e não há como alterá-lo depois de criado, somente de move-lo.


#!/bin/bash

j=$1
k=$2

for i in `seq $j $k`
do

new_folder=$(echo [*****]$j Ag$j | sed 's/ //g')
mkdir $new_folder
let j++
let k--

done


3. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Danilo Josino
djosino

(usa Ubuntu)

Enviado em 18/02/2013 - 08:19h

faz um for incrementando x e decrementando y


4. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Caio Zanvettor
zanvettor

(usa Ubuntu)

Enviado em 18/02/2013 - 19:15h

djosino escreveu:

faz um for incrementando x e decrementando y


djosino desculpa a minha ignorância mas voce pode me dizer um modelo? eu pesquisei sobre os comandos de repetição e fiz um script aqui, mas eu não consigo estabelecer duas condições (incremento e decremento). Só consegui criar as pastas Cu0-Ag até Cu55-Ag através do:

for f in $(seq 0 55) ;
do
mkdir ../teste/[*****]$f-Ag
done

obrigado!


5. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 18/02/2013 - 19:24h

O código abaixo serve para fazer os arquivos de acordo com dois parâmetros passados, por exemplo:

- Vc quer arquivos do 0 ao 55, digite:

[user1@ServerTOP teste]$ ./script.sh 0 55
Cu0Ag55
Cu1Ag54
Cu2Ag53
Cu3Ag52
Cu4Ag51
Cu5Ag50
..
..
..
..
Cu54Ag1
Cu55Ag0



#!/bin/bash

j=$1
k=$2

for i in `seq $j $k`
do

echo "[*****]$j Ag$k"
let j++
let k--

done | \
sed 's/ //g'




6. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Caio Zanvettor
zanvettor

(usa Ubuntu)

Enviado em 18/02/2013 - 20:49h

alexandregms escreveu:

O código abaixo serve para fazer os arquivos de acordo com dois parâmetros passados, por exemplo:

- Vc quer arquivos do 0 ao 55, digite:

[user1@ServerTOP teste]$ ./script.sh 0 55
Cu0Ag55
Cu1Ag54
Cu2Ag53
Cu3Ag52
Cu4Ag51
Cu5Ag50
..
..
..
..
Cu54Ag1
Cu55Ag0



#!/bin/bash

j=$1
k=$2

for i in `seq $j $k`
do

echo "[*****]$j Ag$k"
let j++
let k--

done | \
sed 's/ //g'




Obrigado pela resposta, mas eu sou muito leigo. Eu devo acrescentar alguma coisa no script né? pq quando eu rodo, ele só escreve mas não cria as pastas.


7. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Jhones Petter
jhonesdb

(usa CentOS)

Enviado em 18/02/2013 - 21:37h

zanvettor escreveu:

alexandregms escreveu:

O código abaixo serve para fazer os arquivos de acordo com dois parâmetros passados, por exemplo:

- Vc quer arquivos do 0 ao 55, digite:

[user1@ServerTOP teste]$ ./script.sh 0 55
Cu0Ag55
Cu1Ag54
Cu2Ag53
Cu3Ag52
Cu4Ag51
Cu5Ag50
..
..
..
..
Cu54Ag1
Cu55Ag0



#!/bin/bash

j=$1
k=$2

for i in `seq $j $k`
do

echo "[*****]$j Ag$k"
let j++
let k--

done | \
sed 's/ //g'




Obrigado pela resposta, mas eu sou muito leigo. Eu devo acrescentar alguma coisa no script né? pq quando eu rodo, ele só escreve mas não cria as pastas.


Ai uma simples pergunta, e trabalho de curso ou facu isso? Kkkkk me parece!
Mas ai qual o comando q cria pasta?
Mkdir - ta ai a dica

Abracoo


8. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Caio Zanvettor
zanvettor

(usa Ubuntu)

Enviado em 18/02/2013 - 21:44h

Ahaha eh p faculdade! Entao eu sei que o comando pra criar eh o mkdir so que eu nao sei onde colocar ele, a principio penso que seja dentro do laço, mas nao consegui pq nao sei como "chama-lo"


9. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Caio Zanvettor
zanvettor

(usa Ubuntu)

Enviado em 19/02/2013 - 09:08h

bom galera, deixei o codigo assim:



#!/bin/bash

j=$1
k=$2

for i in `seq $j $k`
do
mkdir ./[*****]$j-Ag$k

let j++
let k--

done

[/quote]

desse jeito consegui criar as pastas e ja estou satisfeito, agora se pudessem ajudar só mais em uma duvida:

eu to precisando colocar o hifen, pra separar [*****]$j-Ag$k. Eu vi que no script aqui em cima o alexandre colocou um espaço pra separar e depois usou o sed pra substituir esse espaço por nada (ao menos foi isso que eu entendi) entretanto eu não consigo usar o mkdir com a saida do sed, como faria isso?

abraços!




10. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 19/02/2013 - 11:00h

zanvettor escreveu:

eu to precisando colocar o hifen, pra separar [*****]$j-Ag$k. Eu vi que no script aqui em cima o alexandre colocou um espaço pra separar e depois usou o sed pra substituir esse espaço por nada (ao menos foi isso que eu entendi) entretanto eu não consigo usar o mkdir com a saida do sed, como faria isso?

abraços!



Amigo, da pra ver que se vc se esforçar vc consegue fazer!

Qdo tiver dúvida em relação a algum comando, instale um Linux em uma máquina virtual e faça todos os testes possíveis, foi assim que aprendi na maioria das situações.

Mas vamos ao que vc quer.. :



#!/bin/bash

j=$1
k=$2

for i in `seq $j $k`
do

mkdir "[*****]$j-Ag$k"
let j++
let k--

done




11. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Caio Zanvettor
zanvettor

(usa Ubuntu)

Enviado em 19/02/2013 - 11:12h

Não entendi alexandre, o script que voce postou é igual ao que eu mencionei acima não? talvez eu tenha me expressado mal, quando eu disse "estou precisando colocar um hífen" quis dizer que não estou conseguindo criar as pastas nesse formato: Cu3Ag52. e não que eu QUERO que as pastas saiam com o hifen.

Pensei que a maneira mais facil de cria-las fosse mandar o mkdir criar os diretorios com os nomes que o sed "cria", pq no primeiro codigo que voce mandou ele escreve o nome exatamente como eu quero!

mas de qualquer jeito obrigado pela paciencia!


12. Re: Script para criação de pastas condição matemática [RESOLVIDO]

Caio Zanvettor
zanvettor

(usa Ubuntu)

Enviado em 19/02/2013 - 12:17h

Pronto! muito obrigado alexandre, funcionou certinho aqui !






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts