Alterador de sufixo

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

[ Hits: 2.539 ]

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

chwall.sh

Instalação do aplicativo Franz

Lista usuários

Script para formatar disquetes em modo texto (Melhorado)

plaspkg dialog


  

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