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