Fala Herbert,
Desculpe-me por ter falado sem pensar. o Here string é um redirecionador e o
{} irá receber a saída do xargs. Como a primeira coisa que o shell faz é o
redirecionamento, neste momento ela ainda não tem o valor para substituir em
{}. Entendeu?
Abração,
Julio
:wq
>
>
> Em 03/02/07, Herbert P Fortes Neto <[EMAIL PROTECTED]> escreveu:
> >
> > On Fri, 2 Feb 2007 10:38:21 -0200
> > "Julio C. Neves" <[EMAIL PROTECTED] <julio.neves%40gmail.com>>
> > wrote:
> >
> > > Herbert,
> > > então teste assim:
> > >
> > > xargs -i sed 's#tmp/.*/\(.*\).ereg#\1.ereg \1#g' <<< {}
> > >
> > > Se funcionar (e deve funcionar!) será mais rápido pois evitará a
> > criação de
> > > duas instâncias do Shell.
> > >
> > > O nome disso é "Here Strings" e está descrito e exemplificado na mesma
> > > página
> > > <https://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarBirinaite
> > >que
> > > vc viu a explicação sobre o xargs.
> >
> > Julio
> >
> > Apesar de ter visto isso no Cantinho do Shell, não
> > lembrei. Mas não deu certo. Não retonou nada aqui.
> >
> > $ find tmp/baixas/ -type f -name "*.pdf" | xargs -i sed
> > 's#tmp/.*/\(.*\).pdf#\1.pdf \1#g' <<< {}
> > $ echo $?
> > 0
> >
>
>
>
>
>
>
> Se mudar para xargs -i sed "'s#tmp/.*/\(.*\).pdf#\1.pdf \1#g' <<< {}",
> > retorna erro para cada linha:
> > sed: -e expressão #1, caractere 1: unknown command: `''
> >
> > Deu certo com o '-i bash -c'
> > xargs -i bash -c "sed 's#\(tmp/.*/\)\(.*\).pdf#cp \1\2.pdf \2#g' <<< {}
> > "
> >
> > Lembrei do '<()' que conheci aqui na lista.
> >
> > $ sed 's#\(tmp/.*/\)\(.*\)#cp \1\2 testes/\2.txt#g' <(find tmp/baixas/
> > -type f -name "*.pdf") | sh
> > $ find tmp/baixas/ -type f -name "*.pdf" | xargs -i bash -c " sh <(sed
> > 's#\(tmp/.*/\)\(.*\).pdf#cp \1\2.pdf testes/\2#g' <<< {} )"
> >
> > []
> >
> > --
> > Herbert Parentes Fortes Neto (hpfn)
> > Linux user number 416100
> > 0x9834F79E -- http://pgp.mit.edu/
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
[As partes desta mensagem que não continham texto foram removidas]