Se vc quiser melhorar isso vc pode criar uma função recursiva que vai 
entrando em diretórios.

tipo vc pode usar função.

esse script ai vai entrando recursivamente de diretório em diretório e 
printa o nome do diretório. Vc pode usar a idéia para copiar 
recursivamente o que vc quer.
entra no diretório e copia todos os .jpg para onde vc quiser.

Bom no que eu testei aqui deu certo. Precisa ver se não tem erros.
o set -x no inicio é uma espécie de debug.

##inicio do script
#! /bin/bash

#set -x

funcao()
{
        cd $1
        echo "`pwd`/$1"
        for dir in `ls`
        do
                if [ -d $dir ]; then
                        funcao $dir
                fi
        done
        cd ..
}

funcao /home/romano/Desktop

##final do script

Bruno Donate Magalhães wrote:
> Pessoal,
> 
> Consegui resolver, sei que a solução não é a melhor pois passa por 
> caminhos que não existem, mas não achei um jeito mais rápido de fazer...
> 
> fiz o seguinte, baseado na solução do meu xará Bruno Romano:
> 
> "
> m4a=/media/Dados/Musica/Convertidas/Musica
> 
> SAVEIFS=$IFS
> IFS=$(echo -en "\n\b")
> 
> for i in *; do echo "$i"; cp -va $i/*.jpg $m4a/$i; for j in $i/*; do 
> echo "$j"; cp -va $j/*.jpg $m4a/$j; for k in $j/*; do echo "$k"; cp -va 
> $k/*.jpg $m4a/$k; done; done; done;
> 
> IFS=$SAVEIFS;
> "
> 
> Com esse código eu entro até o terceiro nível de subpastas...
> 
> Att,
> --
> 
> Bruno Donate Magalhães
> 
> http://brogzinho.blogspot.com <http://www.brogzinho.blogspot.com/>
> 
> [email protected] <mailto:[email protected]>
> 
> (11) 8557-5577
> 
> 
> 
> Bruno Donate Magalhães escreveu:
>> Bruno,
>>
>> Não deu certo... o problema é que o nome do jpg não é o mesmo nome da 
>> pasta... eu até tentei com *.jpg mas não deu certo... além disso acho 
>> que este método nçai vai entrar em uma sub-subpasta que existem várias...
>>
>> Alguma idéia?
>>
>> Desde já agradeço a força...
>>
>> Att,
>> -- 
>>
>> Bruno Donate Magalhães
>>
>> http://brogzinho.blogspot.com <http://www.brogzinho.blogspot.com/>
>>
>> [email protected] <mailto:[email protected]>
>>
>> (11) 8557-5577
>>
>>
>> Se eu entendi direito vc pode fazer isso
>>
>>> m4a=/tmp/m4a
>>> for i in `ls`; do echo "copiando $i"; cp $i/$i.jpg $m4a/$i/$i.jpg; 
>> done;
>>
>>
>> ou gera um m4a.sh
>>
>> e executa ele com isso ai em cima.
>>
>>
>> Bom vc deve executar esse comando na pasta onde vc tem um monte de 
>> pastas de músicas, caso alguma não tenha sua respectiva com o mesmo 
>> nome na m4a então ai dar no such file or directory
>>
>> e no m4a=/tmp/m4a vc substitui pelo local onde esta sua pasta com as 
>> subpastas contendo as musicas.
>>
>> é isso...
>>
>> Bruno Romano.
>>
>>
> 


-- 
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a