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

Responder a