> for a in *.txt; do
>   NAME=`echo ${a} | sed s/.txt$//`

Aqui poderia utilizar também o comando "basename":

   NAME=`basename ${a} .txt`

>   echo ${NAME} # imprimira "banana" de um "banana.txt"
>   mv $a ${NAME} # mv banana.txt banana
> done

No mais poderia utilizar a mesma lógica...

Apenas não tens a recursividade.

Neste caso eu substituiria o "for" por um "find":

find /CAMINHO_INICIAL_DE_PROCURA -name "*.txt" -exec mv {} `echo {} |
sed -e 's/.txt$//g' \;

Explicando:

find = comando de procura
/CAMINHO_INICIAL_DE_PROCURA = diretório onde iniciaremos a procura
-name "*.txt" = filtro para buscar somente arquivos que terminem com a
extensão .txt
-exec = executa um comando (o comando fica entre o exec e o sinal de
finalizaçao: o "\;")

Não entrarei em detalhes do comando, mas qualquer dúvida entre em contato.

Daniel.

--~--~---------~--~----~------------~-------~--~----~
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Antes de perguntar:
http://www.istf.com.br/perguntas/

Para sair da lista envie um e-mail para:
[email protected]
-~----------~----~----~----~------~----~------~--~---

Responder a