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

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

Re: Fwd: [shell-script] atribuir variável ao resultado do find


From: Herbert P Fortes Neto
Subject: Re: Fwd: [shell-script] atribuir variável ao resultado do find
Date: Sat, 3 Feb 2007 10:10:42 -0200

On Fri, 2 Feb 2007 10:38:21 -0200
"Julio C. Neves" <address@hidden> 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]



reply via email to

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