Script de atualização de arquivos recursivamente

1. Script de atualização de arquivos recursivamente

Pedro Uva
pedrouva

(usa Ubuntu)

Enviado em 31/01/2014 - 02:05h

Galera, joia? Tudo bem por aí? Preciso de uma força, de uma alma caridosa pra eu colocar em minhas orações ...

Tenho vários arquivos, em diversas pastas separados assim:

1. Fogo
+Terra
fogoterra1.ext
fogoterra2.ext
fogoterra3.ext
fogoterra4.ext
+Água
fogoágua1.ext
fogoágua2.ext
"
+Ar
"
"
"
"

2. Terra
+Água
terraágua1.ext
"
"
"
+Ar
terraar.ext
"
"
"
+Fogo
terrafogo.ext



3. Água
+Ar




+Fogo

+Terra

4. Ar
+Fogo

+Terra

+Água


Ok? Seguinte, eu baixei todos estes arquios .ext (é só um exemplo de extensão) para uma única pasta chamada “pasta”, atualizei todos eles (são textos, imagens, pdf's, etc), agora eu preciso distribuí-los atualizando nas pastas acima... rss... boa né? Não faço ideia de como se faz isso!

O servidor é LINUX...

Preciso de ajuda pra criar um comando que lê todos os arquivos da “pasta”, vá recursivamente em ~/Fogo/+Terra/fogoterra1.ext e atualiza ele, depois vá pra ~/Fogo/+Água/fogoágua1.ext e atualize ele, e assim por diante, até chegar no ~Ar/Água/arágua4.ext

O comando verifica que a versão em ~/pasta/fogoterra1.ext é atual, e ~/Fogo/+Terra/fogoterra1.ext é mais antiga, e atualiza com a da ~/pasta

Um script, ou qualquer outra coisa que me faça dormir novamente.

O problema é que eu tenho no total por volta de 800 arquivos pra atualizar e redistribuí-los nas pastas, e não sei como proceder.

Quem puder ajudar, fará parte das minhas orações.

Valeu galera, sorte e sucesso à todos! Desde já, o meu muito obrigado.




  


2. Re: Script de atualização de arquivos recursivamente

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 31/01/2014 - 02:11h

Não entendi amigo hehe


3. Clareando

Pedro Uva
pedrouva

(usa Ubuntu)

Enviado em 31/01/2014 - 02:36h

1) Tenho 4 pasta, com o nome de 4 categorias. Cada categoria tem 3 subcategorias. Cada subcategoria, tem n arquivos dentro da pasta.
2) Peguei todos estes arquivos, de todas as ~/categoria/subcategoria/arquivo.ext, e copiei para uma única pasta, tudo misturado, chamado "pasta"
4) Atualizei os arquivos da ~/pasta/, fotos, textos, imagens, etc...
5) Preciso dar um uptade ORIGEM: ~/pasta/arquivo.ext DESTINO: ~/categoria/subcategoria/arquivo.ext

Origem: ~/pasta/fogoterra1.ext
Destino: ~/Fogo/Terra/fogoterra1.ext

Origem: ~/pasta/fogoterra2.ext
Destino: ~/Fogo/Terra/fogoterra2.ext

Origem: ~/pasta/terraágua1.ext
Destino: ~/Terra/Água/terraágua1.ext

Origem: ~/pasta/arfogo.ext
Destino: ~/Ar/Fogo/arfogo.ext

Será que fica melhor explicado assim?




4. Re: Script de atualização de arquivos recursivamente

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 31/01/2014 - 14:23h

Boa tarde, cara, não é impossível, mas que vai se demorado bola este script acho que vai (eu acho), vou ver o que consigo pensar aqui, qualquer coisa lhe aviso, abraço.


5. Re: Script de atualização de arquivos recursivamente

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 31/01/2014 - 17:51h

Você pode fazer isso aqui.

5) Preciso dar um uptade ORIGEM: ~/pasta/arquivo.ext DESTINO: ~/categoria/subcategoria/arquivo.ext

rynsc -av /pasta_arquivos_atualizados ~/categoria/subcategoria/


6. Re: Script de atualização de arquivos recursivamente

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 31/01/2014 - 19:28h

Consegui uma base, usa ela e continua conforme ela esta, qualquer coisa posta ai...

#!/bin/bash

for i in $(ls -1 | egrep '*.txt')
do
echo " $i "
if [ "$i" == fogoterra1.txt ] ; then
cp "$i" /diretorio/Fogo/Terra
fi
done



Obs: coloca o script dentro da pasta onde estão todos os arquivos e muda a extensão do exemplo.


7. Re: Script de atualização de arquivos recursivamente

Tadzio Buscácio
Tadzio

(usa Linux Mint)

Enviado em 31/01/2014 - 19:50h

Desculpe-me, meu conhecimento em shell fica muito aquém do que você precisa.
Se puder fazer em python deixa avisado pois acho muito mais fácil pro caso.


8. Re: Script de atualização de arquivos recursivamente

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 31/01/2014 - 22:23h

Crie os diretórios que quer separar exemplo:

mkdir /home/user/fogo
mkdir/home/user/terra


Feito isso adapte o script com as string comum em todos os nomes de arquivos:

find /local-dos-arquivos/ -name "terra*txt" | xargs -I list mv list /home/user/terra
find /local-dos-arquivos/ -name "fogo*txt" | xargs -I list mv list /home/user/fogo



Fiz o teste com varios arquivos .txt ex: fogo.txt fogo1.txt fogo2.txt fogo....txt terra.txt terra1.txt terra2.txt terra.....txt e moveu sem problemas







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts