Olá Marcos...
Olha aí:

#!/bin/bash
#mostra o caminho absoluto de cada arquivo

if [ $# != 1 ]
then
echo "Você deve rodar o script colocando como argumento o que precisa procurar!"
else
pesquisa=`find -name "${1}*"`
for arquivo in $pesquisa
do
echo $(pwd ${arquivo})${arquivo#.}
done
fi


O que vc precisa está em unir o resultado do pwd com o resultado do find. Para 
retirar o ponto do início de uma variável você pode usar algo 
como:

${var#.}

Se você usar um '#' você não correrá o risco de retirar outros pontos, que 
porventura faćam parte do nome do arquivo.

Abraćo,
ricio


marcosnj wrote:
> Caros, 
> 
> Ainda estou tendo dificuldade em fazer um script que localiza um certo 
> arquivo e substitui este por um outro. 
> 
> Este arquivo é um logo e o nome está padronizado, como por ex: 
> empresa_logo_01.jpg e empresa.gif 
> 
> o que acontece, é que estava tentando pegar o caminho onde se encontra  o 
> arquivo jpg ou gif, em uma variável, para poder jogar o novo arquivo, só que 
> não estou conseguindo isso. 
> 
> Quando eu jogo os comandos 
> find -name empresa_logo_01.jpg 
> find -name empresa.gif 
> 
> ele me aparece caminhos como por ex. 
> 
> em /home/empresa 
> ./dir1/dir2/empresa_logo_01.jpg 
> ./dir1/dir3/empresa_logo_01.jpg 
> ./dir1/dir4/empresa_logo_01.jpg 
> ./dir2/dir1/empresa_logo_01.jpg 
> 
> Eu queria pegar o caminho para o diretório onde se encontra este logo e 
> jogar numa variável, porém não sei se este é a forma correta de se fazer. 
> 
> Se fossem poucos arquivos faria na mão mesmo, porém são cerca de 5000 
> arquivos de logo. 
> 
> E estou deixando os novos logos, os arquivos em 
> /home/empresa/images/new_empresa_logo_01.jpg e new_empresa.gif 
> 
> Alguém tem alguma idéia de como posso fazer isso ? 
> 
> Agradeço a quem puder ajudar. 
> 
> Marcos 
> 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> ---------------------------------------------------------------------
> 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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 
> 
> 



---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a