Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

1. Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Carlos Leonardo Porto
leobrlinux

(usa Ubuntu)

Enviado em 24/10/2013 - 02:44h

Boa noite Galera.

Sou novo no mundo Linux. Muito novo mesmo. Comecei há 20 dias.

Estou me dando bem com os comandos básicos, porém chegou a hora de não ficar tanto no básico.

O que acontece é o seguinte: criei algumas pastas para estudo, para treinar copiar arquivos de uma pasta para outra, usar o coringa "*", etc. Então criei as seguintes pastas:

teste1;teste2;teste3;teste4;teste4.

Dentro da pasta teste1 criei os seguintes arquivos:

teste1.1.txt
teste1.2.txt
teste1.3.txt
teste1.4.txt
teste1.5.text

teste1.6.jpg
teste1.7.jpg
teste1.8.jpg
teste1.9.jpg
teste1.10.jpg

teste1.11.png
teste1.12.png
teste1.13.png
teste.1.14.png
teste1.15.png


Agora que vem a lógica da coisa. O que eu realmente quero fazer. Pra não ter que criar uma por uma nas outras pastas, que no caso mudaria apenas de teste1 para teste2, gostaria de copiar todo o conteúdo da pasta teste 1 para a pasta teste2, porém quando chegar lá, gostaria de renomear o início todo de uma só vez, ou seja, todos "teste1" para "teste2.1.txt... teste2.2.txt..."

Espero que tenha sido claro.

Criar vários arquivos ou pastas de uma só vez eu consegui com o comando "touch teste.txt{1..10}, mas pra renomear quebrei a cabeça e não consegui.


Desculpem se não fui objetivo, pois é a primeira vez que posto em um comunidade em toda minha vida. Desde já, agradeço a todos.


  


2. MELHOR RESPOSTA

Cesar Rodrigues
cesarmabel

(usa KUbuntu)

Enviado em 31/10/2013 - 21:18h

Boa noite jovem,

Com shell não é tão simples de se fazer isso. Para conseguir exatamente o que você quer, você vai precisar pelo menos de um FOR/WHILE no diretório 1 para copiar os arquivos para o diretório 2.
Para isso, você vai precisar criar um scriptzinho, como o abaixo:

#!/bin/bash
for arquivoAtual in *.1.*
do
cp "${arquivoAtual}" sua_segunda_pasta
done

Como você quer trocar o nome dos arquivos de destino, você vai precisar extrair uma parte do nome dos arquivos, como por exemplo: para buscar as 5 primeiras letras da variável ${arquivo}, utilize ${arquivo:0:5}
E por aí vai...

Isso não é o tipo de coisa que é necessário fazer todos os dias, talvez seja por isso que não implementaram ainda.

Espero ter ajudado.

3. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Andre (pinduvoz)
pinduvoz

(usa Debian)

Enviado em 24/10/2013 - 03:25h

O que vc quer eu faria com quatro comandos:

cd /caminho/teste1
cp * /caminho/teste2
cd /caminho/teste2
mv teste1.* teste2.*


4. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Andre (pinduvoz)
pinduvoz

(usa Debian)

Enviado em 24/10/2013 - 03:36h

Tem outros jeitos, mas aí tem que manjar de shell script (não é meu caso).

http://va.mu/dTSq


5. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Pedro
px

(usa Debian)

Enviado em 24/10/2013 - 04:54h

pinduvoz escreveu:

O que vc quer eu faria com quatro comandos:

cd /caminho/teste1
cp * /caminho/teste2
cd /caminho/teste2
mv teste1.* teste2.*


Esta é a unica coisa que falta no linux, um comando só para renomear arquivos. Usar o mv (move) para renomear é desconfortável e não tem opções que um rename teria


6. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Carlos Leonardo Porto
leobrlinux

(usa Ubuntu)

Enviado em 24/10/2013 - 14:27h

Primeiramente obrigado por responder.

Vou testar assim que chegar em casa e passo o Feedback pra vocês. Valeu mesmo!!!!


7. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 25/10/2013 - 11:29h

de fato, linux normal, padrão não tem comando "rename"

mas os Linux Debian tem, dentro do pacote "Linux-utils", veja:

http://linux.die.net/man/1/rename
http://www.linuxcommand.org/man_pages/rename1.html

e pesquise por "Linux Rename Command"


8. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 25/10/2013 - 11:40h

px escreveu:

pinduvoz escreveu:

O que vc quer eu faria com quatro comandos:

cd /caminho/teste1
cp * /caminho/teste2
cd /caminho/teste2
mv teste1.* teste2.*


Esta é a unica coisa que falta no linux, um comando só para renomear arquivos. Usar o mv (move) para renomear é desconfortável e não tem opções que um rename teria


Eu prefiro o mv porque dá pra fazer umas doideiras com eles que por alguma razão saíram das manpagens das Debian-like...


9. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 25/10/2013 - 11:46h

de fato, Cavalheiro, só com "cp", "mv" e "rm" dá para fazer muita coisa...

Inclusive proteger, salvar seu sistema, ou acabar com ele! rsrsrsrsrrsrsrsr

<LEO, NÂO FAÇA, é apenas uma brincadeira, se executar, vai sumir com seu sistema>

Cavalheiro, que tal?

$ cd /
$ sudo mv -f -v /* /dev/null


10. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Pedro
px

(usa Debian)

Enviado em 25/10/2013 - 12:07h

albfneto escreveu:

de fato, linux normal, padrão não tem comando "rename"

mas os Linux Debian tem, dentro do pacote "Linux-utils", veja:

http://linux.die.net/man/1/rename
http://www.linuxcommand.org/man_pages/rename1.html

e pesquise por "Linux Rename Command"


Hummm - bacana!

Achei o pacote:

"util-linux"

Mas esse rename é uma verdadeira bosta! o mv é bem mais simples e prático (mesmo não gostando de mover um arquivo pra renomear)


11. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Pedro
px

(usa Debian)

Enviado em 25/10/2013 - 12:08h

albfneto escreveu:

de fato, Cavalheiro, só com "cp", "mv" e "rm" dá para fazer muita coisa...

Inclusive proteger, salvar seu sistema, ou acabar com ele! rsrsrsrsrrsrsrsr

<LEO, NÂO FAÇA, é apenas uma brincadeira, se executar, vai sumir com seu sistema>

Cavalheiro, que tal?

$ cd /
$ sudo mv -f -v /* /dev/null


Fiz esse comando e minha tela ficou preta! OMG!!


12. Re: Renomear Diretório - Um pouco mais avançado. [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 25/10/2013 - 12:08h

albfneto escreveu:

de fato, Cavalheiro, só com "cp", "mv" e "rm" dá para fazer muita coisa...

Inclusive proteger, salvar seu sistema, ou acabar com ele! rsrsrsrsrrsrsrsr


Com esses dois mais mkdir e tar -zxvf você instala o Slackware inteiro sem a necessidade do instalador que o Cara fez pra distro ;-)

albfneto escreveu:
<LEO, NÂO FAÇA, é apenas uma brincadeira, se executar, vai sumir com seu sistema>

Cavalheiro, que tal?

$ cd /
$ sudo mv -f -v /* /dev/null


Muito comando pra isso tudo, só o segundo já faria a desgraça ;-)

Agora, para enganar um novato poder-se-ia usar:
$ sudo find / -print0 | xargs -0 rm -rf && echo "Já era..." 




01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts