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