Autor Tópico: unir o conteúdo de várias pastas em uma nova  (Lida 11094 vezes)

Offline cygnusx-1

  • Usuário Ubuntu
  • *
  • Mensagens: 570
    • Ver perfil
unir o conteúdo de várias pastas em uma nova
« Online: 31 de Dezembro de 2010, 15:22 »
Boa tarde
Tenho aqui várias pastas diferentes com várias imagens e qro juntar o conteúdo de todas elas em uma pasta só, sem ter q abrir uma por uma pra mover os arquivos para a nova pasta. Tem algum comando de terminal pra fazer isso, algum script ou algum outro método? Obrigado

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #1 Online: 01 de Janeiro de 2011, 12:51 »
Dá pra fazer, ex
Código: [Selecionar]
#!/bin/bash
IFS=$','
#lista dos diretorios -origem- itens separados por virgulas (preferencialmente caminho absoluto)
dirlist='/foo,/bar'
for i in $dirlist; do
    #Move o conteudo para a pasta /target
    mv "$i"/* /target
    #apaga a origem (vazio!)
    rmdir "$i"
done
unset IFS

Offline cygnusx-1

  • Usuário Ubuntu
  • *
  • Mensagens: 570
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #2 Online: 01 de Janeiro de 2011, 12:54 »
Dá pra fazer, ex
Código: [Selecionar]
#!/bin/bash
IFS=$','
#lista dos diretorios -origem- itens separados por virgulas (preferencialmente caminho absoluto)
dirlist='/foo,/bar'
for i in $dirlist; do
    #Move o conteudo para a pasta /target
    mv "$i"/* /target
    #apaga a origem (vazio!)
    rmdir "$i"
done
unset IFS

Bah, nao entendo nada. Isso é um script? Como faço pra usá-lo?

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #3 Online: 01 de Janeiro de 2011, 13:04 »
É um bash script. Você tem que salvar em um arquivo texto, dar permissão de execução e rodar. É necessário modificar o dirlist e o /target, faça alguns testes antes de usar em algo *real*

Offline cygnusx-1

  • Usuário Ubuntu
  • *
  • Mensagens: 570
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #4 Online: 01 de Janeiro de 2011, 13:13 »
É um bash script. Você tem que salvar em um arquivo texto, dar permissão de execução e rodar. É necessário modificar o dirlist e o /target, faça alguns testes antes de usar em algo *real*
Salvei e dei permissão pra executar mas qdo clico e mando executar nada acontece.

libonati

  • Visitante
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #5 Online: 01 de Janeiro de 2011, 14:24 »
Não é melhor você usar o shift para marcar todas as pastas e copiar para a pasta que você quer?

Offline cygnusx-1

  • Usuário Ubuntu
  • *
  • Mensagens: 570
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #6 Online: 01 de Janeiro de 2011, 14:34 »
Não é melhor você usar o shift para marcar todas as pastas e copiar para a pasta que você quer?
não é bem iso q eu qro fazer. eu qro copiar SÓ O CONTEÚDO de cada pasta para uma nova pasta, não cada pasta inteira.

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #7 Online: 01 de Janeiro de 2011, 21:40 »
É necessário modificar o dirlist e o /target, faça alguns testes antes de usar em algo *real*
Fez? Olha os comentários no script. Se não tem intimidade com a linha de comando, faz pelo nautilus (F3 depois: ctrl+a,ctrl+x e ctrl+v).

Offline cygnusx-1

  • Usuário Ubuntu
  • *
  • Mensagens: 570
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #8 Online: 02 de Janeiro de 2011, 10:43 »
É necessário modificar o dirlist e o /target, faça alguns testes antes de usar em algo *real*
Fez? Olha os comentários no script. Se não tem intimidade com a linha de comando, faz pelo nautilus (F3 depois: ctrl+a,ctrl+x e ctrl+v).
sou novato com scripts, tenho q copiar o arquivo de texto para aquela pasta de scripts do nautilus? Se for assim, desse jeito q vc disse não executou. Coloquei o arquivo de texto na pasta de scripts, dei permissão de execução com chmod +x mas nada acontece qdo faço F3 depois: ctrl+a,ctrl+x e ctrl+v.
EDITADO: Só deixando claro q estou usando o linux mint 10 32 bits.
« Última modificação: 02 de Janeiro de 2011, 10:47 por minho »

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #9 Online: 02 de Janeiro de 2011, 11:14 »
Não... to falando pra você usar o segundo painel, para facilitar o copia/cola (nada de script). Como eu já disse, você precisa editar o dirlist e /target... rode pelo terminal (alem de ler os comentários).
-----
Exemplo prático, (quero mover o conteúdo das pastas /home/irtigor/documentos/pasta1 e /home/irtigor/documentos/pasta2 para /home/irtigor/documentos/arquivos)
Código: [Selecionar]
#!/bin/bash
IFS=$','
#lista dos diretorios -origem- itens separados por virgulas (preferencialmente caminho absoluto)
dirlist='/home/irtigor/documentos/pasta1,/home/irtigor/documentos/pasta2'
for i in $dirlist; do
    #Move o conteudo para a pasta /target
    mv "$i"/* /home/irtigor/documentos/arquivos
    #apaga a origem (vazio!)
    rmdir "$i"
done
unset IFS
« Última modificação: 02 de Janeiro de 2011, 11:18 por irtigor »

Offline cygnusx-1

  • Usuário Ubuntu
  • *
  • Mensagens: 570
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #10 Online: 02 de Janeiro de 2011, 11:31 »
Não... to falando pra você usar o segundo painel, para facilitar o copia/cola (nada de script). Como eu já disse, você precisa editar o dirlist e /target... rode pelo terminal (alem de ler os comentários).
-----
Exemplo prático, (quero mover o conteúdo das pastas /home/irtigor/documentos/pasta1 e /home/irtigor/documentos/pasta2 para /home/irtigor/documentos/arquivos)
Código: [Selecionar]
#!/bin/bash
IFS=$','
#lista dos diretorios -origem- itens separados por virgulas (preferencialmente caminho absoluto)
dirlist='/home/irtigor/documentos/pasta1,/home/irtigor/documentos/pasta2'
for i in $dirlist; do
    #Move o conteudo para a pasta /target
    mv "$i"/* /home/irtigor/documentos/arquivos
    #apaga a origem (vazio!)
    rmdir "$i"
done
unset IFS
Copia e cola o q? Todas as pastas q quero juntar pra uma pasta nova pra depois editar o script, colocar o caminho da pasta onde estão todas as pastas q eu qro juntar e colocar o destino de todas as pastas unidas? Na verdade esse script não é mto prático pra mim, o q eu queria era algum pra executar direto do nautilus em q em seleciono várias pastas e ele junta automaticamente o conteudo de todas em uma nova pasta sem eu ter q ficar editando o script manualmente pra colocar caminho de pastas de origem/destino

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #11 Online: 02 de Janeiro de 2011, 11:54 »
Realmente não estamos falando a mesma língua...
Código: [Selecionar]
#!/bin/bash
targetdir=`zenity --entry --text "Caminho?" --entry-text "caminho"`
for i in "$@"; do
    if [ -d "$i" ]; then
        mv "$i"/* "$targetdir"
    fi
done
Se quer ver isso funcionando, vai ter que "se mexer" (não tem como eu adivinhar o que está errado).

Já que você não tem nenhuma experiencia com terminal, esquece o script. Use o segundo painel (F3), ctrl+a (seleciona tudo), ctrl+x (recorta) e ctrl+v (cola).
« Última modificação: 02 de Janeiro de 2011, 11:57 por irtigor »

Offline cygnusx-1

  • Usuário Ubuntu
  • *
  • Mensagens: 570
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #12 Online: 02 de Janeiro de 2011, 11:58 »
Realmente não estamos falando a mesma língua...
Código: [Selecionar]
#!/bin/bash
targetdir=$(zenity --entry --text "Caminho?" --entry-text "")
for i in "$@"; do
    if [ -d "$i" ]; then
        mv "$i"/* "$targetdir"
    fi
done
Se quer ver isso funcionando, vai ter que "se mexer" (não tem como eu adivinhar o que está errado).

Já que você não tem nenhuma experiencia com terminal, esquece o script. Use o segundo painel (F3), ctrl+a (seleciona tudo), ctrl+x (recorta) e ctrl+v (cola).
Não estamos falando a mesma língua mesmo, isso q vc está dizendo não faz o q eu qro q faça. Vou ver se acho algum jeito de fazer no windows mesmo ou então pedindo ajuda em outro fórum para fazer no linux. Valeu a tentativa de qualquer forma, abraço.

Offline mkleber

  • Usuário Ubuntu
  • *
  • Mensagens: 154
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #13 Online: 10 de Janeiro de 2011, 21:19 »
Cara veja nesse tópico, tem uma extensao que faz o que eu acho que vc precisa !

http://ubuntuforum-br.org/index.php?topic=77661.msg431942#msg431942

Offline cygnusx-1

  • Usuário Ubuntu
  • *
  • Mensagens: 570
    • Ver perfil
Re: unir o conteúdo de várias pastas em uma nova
« Resposta #14 Online: 10 de Janeiro de 2011, 22:20 »
Cara veja nesse tópico, tem uma extensao que faz o que eu acho que vc precisa !

http://ubuntuforum-br.org/index.php?topic=77661.msg431942#msg431942
Vc fala da Nautilus Easy Union? Não entendi como configurar por aquele vídeo.