[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Tratar arquivo para pegar valor
From: |
Jeiks |
Subject: |
Re: [shell-script] Re: Tratar arquivo para pegar valor |
Date: |
Tue, 26 May 2009 15:43:27 -0300 |
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 <address@hidden>
>
>
> 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 address@hidden <shell-script%40yahoogrupos.com.br>,
> Jeiks <jacsonrcsilva@...> 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 <jacsonrcsilva@...>
> >
> > > opa... pra copiar basta trocar o echo pelo mv:
> > > mv "${arq##*..}" pasta_destino/
> > >
> > > rs
> > >
> > > abs
> > >
> > > 2009/5/22 Jeiks <jacsonrcsilva@...>
> > >
> > > 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_silva@...>
>
> > >>
> > >>
> > >>>
> > >>> 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]