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