Bom Heitor, dexa te explicar aos pouquinhos essa parte: <(grep '^\.\./' arquivo_lista) vai gerar um arquivo virtual com exatamente as linhas das músicas, se quiser ter uma visão melhor faça: ls -la <(grep '^\.\./' arquivo_lista) a saída de qualquer comando que você inserir será o conteúdo do arquivo, se você fizer: cat <(echo oi) aparecerá oi na tela, pois é o conteúdo do arquivo (gerado pelo "echo oi")
o while será somente para percorrer todas as linhas desse arquivo virtual e salvá-las na variável arq através do comando read. então, agora é só você copiar os arquivos para onde deseja: while read arq;do cp "${arq##*..}" pasta_destino/ done < <(grep '^\.\./' arquivo_lista) para entender melhor, execute as linhas abaixo e no lugar de "arquivo_lista", coloque seu arquivo que possui a lista while read arq;do echo cp "${arq##*..}" pasta_destino/ done < <(grep '^\.\./' arquivo_lista) como pode ver, agora na tela aparecerão todos os comandos que você deveria dar para copiar todas as músicas, uma por uma, para a pasta destino abs 2009/5/26 Heitor <heitorm_si...@yahoo.com.br> > > > Opá valeu Jeiks, > > Não entendi como funciona o while. no lugar de "arq" coloco o nome do > arquivo? > > Outra coisa usando só o grep que vc passou consegui pegar as linhas com o > nome do arquivo .mp3 mas ele vem com um monte de ../../../ > preciso limpar isso tbm, tem que pegar direto do /mnt/dados... para frente. > > Como poderia fazer isso? > > [ ]' > Heitor. > > --- Em shell-script@yahoogrupos.com.br <shell-script%40yahoogrupos.com.br>, > Jeiks <jacsonrcsi...@...> escreveu > > > > > nossa mae.. q cabeça aki hj... > > mv NAOOO...ehhehe, usa cp > > cp "${arq##*..}" pasta_destino/ > > mas isso sei q vc sabe, né? ;) > > desculpa o vacilo > > abs > > > > 2009/5/22 Jeiks <jacsonrcsi...@...> > > > > > opa... pra copiar basta trocar o echo pelo mv: > > > mv "${arq##*..}" pasta_destino/ > > > > > > rs > > > > > > abs > > > > > > 2009/5/22 Jeiks <jacsonrcsi...@...> > > > > > > Supondo que todos começam com ../ e estão no arquivo lista: > > >> > > >> while read arq;do > > >> echo ${arq##*..} > > >> done < <(grep '^\.\./' arquivo_lista) > > >> > > >> > > >> 2009/5/22 Heitor <heitorm_si...@...> > > > >> > > >> > > >>> > > >>> Olá, > > >>> > > >>> Srs., preciso da ajuda de vocês. > > >>> > > >>> Tenho um arquivo no seguinte formato: > > >>> > > >>> << BOF >> > > >>> > > >>> #EXTM3U > > >>> #EXTINF:244,Primeiros Erros > > >>> ../../../../../../../../mnt/dados/Heitor/Músicas/Capital > Inicial/Capital > > >>> Inicial - Primeiros Erros (acústico).mp3 > > >>> #EXTINF:195,Cai A Noite (acústico) > > >>> ../../../../../../../../mnt/dados/Heitor/Músicas/Capital > Inicial/Capital > > >>> Inicial - Cai A Noite (acústico).mp3 > > >>> #EXTINF:194,Natasha > > >>> ../../../../../../../../mnt/dados/Heitor/Músicas/Capital > Inicial/Capital > > >>> Inicial - Natasha.mp3 > > >>> > > >>> << EOF >> > > >>> > > >>> Esse arquivo é uma playlist do Amarok e quero extrair dele o path da > > >>> música ex: /mnt/dados/Heitor/Músicas/Capital Inicial/Capital Inicial > - > > >>> Natasha.mp3 > > >>> > > >>> Tudo isso para poder copiar os arquivos (músicas) que estão na > playlist > > >>> para outro diretório. > > >>> > > >>> O problema é que não manjo de sed, awk ou o que mais possa ser usado > para > > >>> isso. > > >>> > > >>> Alguém poderia por favor montar o comando para mim? > > >>> > > >>> Muito obrigado, > > >>> Heitor. > > >>> > > >>> > > >>> > > >> > > >> > > >> > > >> -- > > >> Jacson R. C. Silva > > >> > > > > > > > > > > > > -- > > > Jacson R. C. Silva > > > > > > > > > > > -- > > Jacson R. C. Silva > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > -- Jacson R. C. Silva [As partes desta mensagem que não continham texto foram removidas]