Localizar e mover

Iniciado por piah, 21 de Fevereiro de 2012, 16:18

tópico anterior - próximo tópico

piah

Olá senhores!
Primeiramente quero me desculpar se minha dúvida for muito óbvia ou se já tiver sido respondida, fiz uma busca e não encontrei nada, mas...

Bom, meu problema é mais ou menos assim:
gostaria de fazer um script que encontrasse todas as '.mp3' do meu computador e em seguida as transferisse para a pasta '/home/piah/Músicas'

estou usando o 'locate' e o 'mv' mas não estou obtendo sucesso algum.

alguém poderia me ajudar?

irtigor

Use o find: http://www.thegeekstuff.com/2009/03/15-practical-linux-find-command-examples/
O manual também tem exemplos (man find), inclusive com o xargs, que você poderia usar, no lugar do que é apresentado no 4 exemplo do link.

piah

muito obrigado, amigo, muito obrigado mesmo =)

fpissarra

Se você quiser mover também diretórios pode ser útil criar um pequeno script para ser executado pelo find. Por exemplo:

#!/bin/bash

dir = $(dirname $1)
name = $(basename $1)

if [ ! -d $dir ]; then
  mkdir /home/plah/Musicas/$dir
fi

mv $1 /home/plah/Musicas/$dir/$name


Assim você pode fazer isso:

cd SongsDir
find . -type f -name "*.mp3" -exec myscript "{}" \;


Onde "SongsDir" é o diretório que contém toda a árvore de diretórios com suas músicas...

[]s
Fred

piah

entendi... ehehehe
virei expert em achar e mover arquivos!
eheheh

Muito obrigado a todos pela atenção desprendida ao meu problema.
Essa foi  minha primeira dúvida postada no fórum e o resultado foi show!

Muito obrigado!