Renomear arquivos com pesquisa prévia da existencia do arquivo

1. Renomear arquivos com pesquisa prévia da existencia do arquivo

Murilo Oliveira Benevides
Murilobenevides

(usa Red Hat)

Enviado em 20/06/2016 - 03:57h

Boa noite,

Estou testantando a horas, usando tanto IF qto CASE para codificar uma pesquisa em que eu jogue o nome do arquivo, é feito primeiro uma pesquisa prévia se ele existe, se existir eu altero o nome do arquivo.

Se poderem ajudar por favor.


  


2. Re: Renomear arquivos com pesquisa prévia da existencia do arquivo

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 20/06/2016 - 05:02h

Tente executar esse:

#!/bin/bash

if [ -f $1 ]; then
ARQUIVO=$(basename $1)
printf "Alterando nome atual de $ARQUIVO para: "
read NOME
mv $1 $(echo "$1" | sed "s/$ARQUIVO/$NOME/")
printf "\n$ARQUIVO alterado para $NOME\n\n"
else
printf "$1: não encontrado\n"
fi


Para executar dê um nome e permissão e execute como abaixo:

./nome_do_script [caminho para arquivo] 


Se o arquivo existir ele pedirá o novo nome e alterará e se não existir ele dirá.




=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
=====================================================================





3. Re: Renomear arquivos com pesquisa prévia da existencia do arquivo

Murilo Oliveira Benevides
Murilobenevides

(usa Red Hat)

Enviado em 20/06/2016 - 05:20h

#!/bin/bash

if [ -f $1 ]; then
ARQUIVO=$(basename $1)
printf "Alterando nome atual de $ARQUIVO para: "
read NOME
mv $1 $(echo "$1" | sed "s/$ARQUIVO/$NOME/")
printf "\n$ARQUIVO alterado para $NOME\n\n"
else
printf "$1: não encontrado\n"
fi



Me tire outra duvida sobre o basename, se eu procurar por exemplo o arquivo perfil na pasta:

/arquivos/imagens/pessoais

mas só dar o parametro /arquivos ele vai achar do mesmo jeito?


4. Re: Renomear arquivos com pesquisa prévia da existencia do arquivo

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 20/06/2016 - 12:58h

Sim se você usar desse jeito ele acha normalmente, no caso desse script o basename entra para melhorar visualmente para quem o executa e destacar a ultima parte para trocar pela nova.

EDIT: Se o /arquivos forem todos arquivos sim, só que você vai ter que executar vez por vez, se quiser alterar uma sequência de arquivos é mais fácil só que teremos que alterar o script.





=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
=====================================================================









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts