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

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

Re: [shell-script] Re: Duvidas com o comando find


From: Flavio Junior
Subject: Re: [shell-script] Re: Duvidas com o comando find
Date: Fri, 23 Jun 2006 14:43:23 -0300

basename é um cara chato...

$  find . -iname *.txt -exec sh -c 'nome={}; mv $nome dir02/x${nome/.*\/}' \;

Isso resolve seu problema...


Flavio do Carmo Junior aka blk1d

On 6/23/06, lordegato <address@hidden> wrote:
Olá Ivan.

Desculpe, mas não entendi sua mensagem, quando vc diz "procure alguns
exemplos mais complexos de uso do find, para entender o comando."

Além disso, o fragmento de linha que vc enviou não apresenta nenhuma
diferença. Vou reapresentar o problema de forma mais clara:

kurumin@kurumin:~/lixo$ tree
.
|-- dir01
|   `-- teste.txt
`-- dir02

Note que o arquivo ./dir01/teste.txt deve ser copiado para ./dir02.
Vou usar um find para isto:

kurumin@kurumin:~/lixo$ find dir01/ -iname "*.txt" -exec mv {}
dir02/x$(basename {}) ";"
mv: impossível mover `dir01/teste.txt' para `dir02/xdir01/teste.txt':
No such file or directory

Não houve nenhum problema na sintaxe do comando find, pois de acordo
com o manual, "Both  of  these constructions might need to be escaped
(with a `\') or quoted to protect them from expansion by the shell..."

Assim, o argumento "ponto e vírgula" precisa ser protegido do Shell
Expansion, o que se faz tanto com um contra-barra ou estando entre aspas.

Mas veja que problema está no "x" que antecede o $(). Eu quero mover
todos os arqs "*.txt" para ./dir02 , renomeando-os para "x*.txt".
entretanto, o comando "basename" não funcionou como deveria, pelo que
se nota nas msgs de erro:

`dir02/xdir01/teste.txt'

Por isso, pergunto:

Como poderia resolver este problema ?







---------------------------------------------------------------------
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










reply via email to

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