shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Res: [shell-script] Unir FIND+XARGS +CP ou MV num único comando


From: Wagner Brasileiro
Subject: Res: [shell-script] Unir FIND+XARGS +CP ou MV num único comando
Date: Wed, 2 Feb 2011 04:37:45 -0800 (PST)

Só rindo mesmo!!! Não é que funcionou perfeitamente!!!

Estava fugindo desta construção justamente por saber do problema de estouro de 
pilha quando se passa muitos argumentos ao exec do find, e no meu caso estou 
falando de 382.

Bem agradeço pela idéia, mas sabe dizer o que estava acontecendo, ou onde 
estava 
errando? Quem souber por favor me diga.

Espero que os moderadores não encarem isso como abuso ou algo parecido, 
gostaria 
de entender o que estava acontecendo.

Atenciosamente,

Wagner Brasileiro




________________________________
De: "®i©@®ÐØ" <address@hidden>
Para: address@hidden
Enviadas: Quarta-feira, 2 de Fevereiro de 2011 10:14:51
Assunto: Re: [shell-script] Unir FIND+XARGS +CP ou MV num único comando

se puder ser somente com um comando, que tal:

find MP3-TMP/ -type f -name "*.mp3" -exec cp -pv {} ~/resultado/ \;

;)


Em 2 de fevereiro de 2011 09:55, Wagner Brasileiro <
address@hidden> escreveu:

>
>
> Bom dia Senhores,
>
> estou tentando construir uma linha de comando que facilite minha vida,
> tenho um
> diretório com uma estrutura de subdiretórios criados onde existem arquivos
> MP3
> organizados por nome da banda, nome do disco e e por último os arquivos
> propriamente dito. O que eu pretendo é ler esses arquivos em sua estrutura
> de
> subdiretórios como find, repassar esses nomes como par6ametros pelo xargs
> ao cp
> e pronto. Parece simples e eu creio que já fiz isso algumas vezes com
> arquivos
> simples, mas neste caso tenho caracteres estranhos nos nomes dos arquivos
> como
> espaços, apóstrofes e parênteses e ainda por cima a lista está parecendo
> maior
> do que o xargs suporta, Já com os caracteres especiais nem sei como ele
> está
> tratando isso, normalmente quando uso as opções d -0 ou -r do xargs as
> mensagens
> de erro referentes a esses caracteres somem.
> Um dos problemas que encontrei foi os espaços entre os nomes dos arquivos
> onde
> tive que usar ou a Opção -0 do xargs ou -r. Já o comando cp sempre dá
> estouro
> quando uso essas opções, me retornando: "Nome de arquivo muito longo" Já
> tentei
> "escapar"parte da expressão para ver se ele estava tentando usar tudo como
> um
> único arquivo.
>
> Dentre as diversas tentativas que fiz as que mais me pareceram corretas e
> mesmo
> assim deram erradas foram:
>
> find MP3-TMP/ -type f -name "*.mp3" | xargs -0 -r cp -v -p
> --target-directory=/root/resultado
>
> find MP3-TMP/ -type f -name "*.mp3" | xargs -0 -I {} mv {} ~/resultado/
>
> find MP3-TMP/ -type f -name "*.mp3" | xargs -r -0 -i bash -c "cp {}
> ~/resultado/" ==> Já essa linha me dá dois tipos de erros diferentes, alega
> em
> vários arquivos que não foram encontrados, analisando a linha de saída com
> um
> simples echo, percebi que são justamente os arquivos que possuem caracteres
>
> especiais, mas engraçado que na linha 74 ele me dá a seguinte mensagem:
>
> bash: -c: linha 74: erro de sintaxe próximo do `token' não esperado `('
> bash: -c: linha 74: `MP3-TMP/Phil Collins/Serious Hits...Live!/02 Against
> All
> Odds (Take a Look at Me Now).mp3'
>
> Sendo que ele já passou por outros arquivos a esta altura com parênteses e
> outros caracteres especiais. termina o comando e sai sem copiar um arquivo
> sequer.
>
> Acredito que esteja errando algo bobo, ou se realmente for estouro da pilha
> de
> argumentos existe como acertar isso? Fico grato por qualquer ajuda.
>
> Wagner Brasileiro
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
-------------------------------------------------------------------------------------

ATENÇÃO: EVITE QUE SPAMMERS CAPTURE CONTATOS DE SUA LISTA,
SEMPRE QUE POSSÍVEL  REMOVA OS EMAILS DO REMETENTE E ENVIE EM (COO- CÓpia
Oculta) PARA SEUS CONTATOS.
;)

A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
The grace of our Lord Jesus Christ be with you.  (1ªTs 5.28)
Jesus te ama, aceite-O! Jesus loves you, accept you Him!

                                               ®i©@®ÐØ


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, 
C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos


      

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]