Ah, é! Sempre me esqueço do basename...
2009/11/26 Daniel Bauermann <[email protected]>
>
> > 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.
>
> >
>
--
Cesar Suga <[email protected]>
--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---