Alterador de sufixo

Publicado por Vitor Augusto M. Pio (última atualização em 29/08/2014)

[ Hits: 2.664 ]

Download Rename.sh




Programa em bash que tem por finalidade alterar o sufixo de arquivos, imagine que você tenha uma lista de arquivos e queria mudar o sufixo de todos os arquivos que terminam com ".c" para ".cxx", como fazer isso? Com esse script é claro! ;)

  



Esconder código-fonte

#!/bin/bash

Principal(){

    dialog                                                                  \
    --title 'Deseja ultilizar diretório atual na substituição ?'            \
    --yesno "\n$(pwd)\n\n"                                                  \
    0 0

    if [ $? == 0 ];then
        CAMINHO=`pwd`
    else
        while : ; do
            CAMINHO=$(dialog --stdout --inputbox 'Caminho desejado' 0 0)
            if [ $? == 0 ];then
                if [ -e "$CAMINHO" ];then
                    break
                else
                    dialog                                                   \
                    --title 'AVISO'                                          \
                    --msgbox 'Diretório não existe'                          \
                    0 0
                fi
            else
                Sair
            fi
        done
    fi

    while : ; do
        ORIGINAL=$(dialog --stdout --inputbox 'Sufixo original' 0 0)
        if [ $? == 0 -a "$ORIGINAL" != "" ];then
            break
        else
            Sair
        fi
    done

    while : ; do
        MODIFICADO=$(dialog --stdout --inputbox 'Novo sufixo' 0 0)
        if [ $? == 0 -a "$MODIFICADO" != "" ];then
            break
        else
            Sair
        fi
    done

    clear

    for arquivo in `ls -1 $CAMINHO/*.$ORIGINAL 2> /dev/null`;do
        b=$(basename "$arquivo" ".$ORIGINAL")
        mv "$arquivo" "$CAMINHO/$b.$MODIFICADO"
        echo -e "-> Sufixo alterado: $b.$ORIGINAL para $b.$MODIFICADO\n"
    done

    echo "#############################################################"
    echo "Processo finalizado, tecle para continuar"
    read

    Sair

}

Sair(){
    dialog                              \
    --title 'AVISO'                     \
    --yesno '\nDeseja sair ?\n\n'       \
    0 0

    if [ $? == 0 ];then
        clear
        exit 0
    else
        Principal
    fi


}

Principal

Scripts recomendados

Verificando a versão mais recente do Wine via script

log_FW

Instalando a última versão do Adobe Flashplayer automaticamente

Shell para extrair informações de impressoras Brother

Remover e-mails com MX inexistente e status deferred em servidores Postfix


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts