Skip to content

hugomaiavieira/refactoring-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#REFACTORING SCRIPTS

Coleção de scripts escritos em shell para refatoração de código.

##INSTALANDO

Para instalar, basta executar no terminal:

$ ./install.sh

##ATUALIZANDO

Para atualizar para uma versão mais nova, basta fazer o download executar no terminal:

$ ./install.sh

##SCRIPTS

###change-file-name

Busca recursivamente em um diretório por arquivos que contenham uma palavra em seu nome e a substitui por outra. O programa diferência maiúsculas e minúsculas.

####Parâmetros

-f, --file      Diretório a partir do qual a busca será feita recursivamente.

-o, --old-word  Palavra que será substituída no nome dos arquivos.

-n, --new-word  Palavra que substituirá a palavra informada no parâmetro -n.

####Opções

-q, --quiet     Executa em modo silencioso, não imprimindo na tela os arquivos
                que foram alterados.

-h, --help      Mostra esta tela de ajuda e sai
-v, --version   Mostra a versão do programa e sai

####Exemplos

$ ls ~/diretorio
fulanoAntiga.txt   ANTIGAblabla.sh   testeANTIGAteste.rb

$ change-file-name -f ~/diretorio -o ANTIGA -n NOVA

$ ls LOCAL
fulanoAntiga.txt   NOVAblabla.sh   testeNOVAteste.rb

###find-replace

Busca em um arquivo, ou recursivamente em todos os arquivos de um diretório, por uma palavra (ou expressão regular) e a substitui por outra; Cria arquivos .backup para posteriormente poder desfazer as mudanças (através do comando undo) ou serem removidos (através do comando clean).

####Comandos:

clean D         Remove os arquivos .backup criados em D e seus sub-diretórios.

undo D          Desfaz as mudanças realizadas em D.

####Parâmetros

-f, --file      Arquivo ou diretório no qual a busca será feita. Sendo o
                argumento um diretório, a busca será recursiva.

-o, --old-word  Palavra que será substituída nos arquivos.

-n, --new-word  Palavra que substituirá a palavra informada no parâmetro -n.

####Opções

--exclude-file  Exclui da busca arquivos cujos nomes coincidam com o argumento
                informado. O argumento pode conter * para generalizações,
                porém desta forma, deve ser passado entre aspas.

--exclude-dir   Exclui da busca recursiva diretórios cujos nomes coincidam com
                o argumento informado. O argumento pode conter * para
                generalizações, porém desta forma, deve ser passado entre
                aspas.

-q, --quiet     Executa em modo silencioso, não imprimindo na tela os arquivos
                que foram alterados.

-h, --help      Mostra esta tela de ajuda e sai
-v, --version   Mostra a versão do programa e sai

####Exemplos

$ find-replace -f diretório -o substituída -n substituta

$ find-replace -f diretório -o "^Hugo.*Vieira" -n Hugo

$ find-replace -f ~/sgtran -o viagems -n viagens -ed ".git"

$ find-replace clean ~/sgtran/

$ find-replace -f ~/sgtran/app/ -o Funcionário -n Solicitante -ef view/show.erb

$ find-replace undo ~/sgtran/app/

###html-characters

Busca em um arquivo, ou recursivamente em todos os arquivos de um diretório, por vogais acentuadas e cedilha e as substitui por seu nome ou número equivalente em HTML. Com a opção --inverse, faz o contrário, substituindo os nomes (ou números) em HTML pelos caracteres correspondentes.

Os caracteres substituídos são:

À Á Â Ã Ç É Ê Í Ó Ô Õ Ú à á â ã ç é ê í ó ô õ ú

Tendo como exemplo o caractere 'á', os números equivalentes em HTML seguem o formato á e os nomes equivalentes em HTML seguem o formato á

####Parâmetros

-f, --file            Arquivo ou diretório no qual a busca será feita. Sendo o
                      argumento um diretório, a busca será recursiva.

####Opções

-ef, --exclude-file   Exclui da busca arquivos cujos nomes coincidam com o
                      argumento informado. O argumento pode conter * para
                      generalizações, porém desta forma, deve ser passado
                      entre aspas.

-ed, --exclude-dir    Exclui da busca recursiva diretórios cujos nomes
                      coincidam com o argumento informado. O argumento pode
                      conter * para generalizações, porém desta forma, deve
                      ser passado entre aspas.

--no-backup           Não cria os arquivos de backup.

-i, --inverse         Faz o inverso, substituindo os códigos em HTML pelos
                      caracteres correspondentes.

-n, --numero          Substitui os caracteres por seu numero correspondente em
                      HTML.

-q, --quiet           Executa em modo silencioso, não imprimindo na tela os
                      arquivos que foram alterados.

-h, --help            Mostra esta tela de ajuda e sai
-v, --version         Mostra a versão do programa e sai

####Exemplos

$ html-characters -f diretório

$ html-characters -f ~/index.html -ed ".git"

$ html-characters --numero -f ~/sgtran/app/ -ef view/show.erb

###remove-temps

Busca recursivamente em um diretório por arquivos temporários e os elimina.

####Parâmetros

-f, --file      Diretório a partir do qual a busca será feita recursivamente.

####Opções

-q, --quiet     Executa em modo silencioso, não imprimindo na tela os arquivos
                que foram removidos.

-g, --git       Executa o comando "git rm" para todos os arquivos temporários.
                Para utilizar esta opção, deve-se estar na diretório root do
                projeto e os arquivos ainda devem existir.

-h, --help      Mostra esta tela de ajuda e sai
-v, --version   Mostra a versão do programa e sai

####Exemplos

$ ls ~/sgtran/app/models
usuario.rb usuario.rb~ usuario_session.rb usuario_session.rb~

$ remove-temps -f ~/sgtran/app/models

$ ls ~/sgtran/app/models
usuario.rb usuario_session.rb

Usando a opção -g, --git

$ git status
# On branch master
nothing to commit (working directory clean)

$ remove-temps -f . -g

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	deleted:    app/controllers/application_controller.rb~
#	deleted:    app/controllers/usuario_sessions_controller.rb~

##AUTOR

Hugo Henriques Maia Vieira hugomaiavieira@gmail.com

About

Shell scripts for refactoring

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages