Arquivo de etiquetas: deep

Deep

O comndo deep é uma daquelas ferramentas tipo canivete suiço, pequeno, multifunções e extremamente prático. Não é um verdadeiro binário, porque é um Perl script, mas na sua utilização típica a performance não é um factor importante. Basicamente serve para efectuar operações sobre uma árvore de ficheiros em cascata (age sobre os ficheiros da directoria actual, ficheiros em subdirectorias e assim sucessivamente.

Suporta várias operações, pesquisa, substituição, chmod, comando, etc… as funcionalidades que mais usamos são a pesquisa e a substituição.

Um exemplo para ilustrar o poder do deep. Vamos supor que temos um site que tem algumas centenas de ficheiros html e é necessário substituir o email de contacto e não fazemos ideia de todos os ficheiros onde poderá estar. Simples, basta irmos à raiz do site e dar o comando:

deep find 'emailparasubstituir@dominio.com' '*.html' --case=0

e voilá, temos os ficheiros e linhas em que está o email de contacto para substituir. Vamos agora supor que temos isto em dezenas de ficheiros, temos a possibilidade de abrir um por um, fazer a alteração e gravar (nada divertido) ou então:

deep replace 'emailparasubstituir@dominio.com' 'novoemail@dominio.com' '*.html' --case=0

e já está, podemos passar o resto do dia a fazer coisas realmente produtivas. Outra utilização típica é quando recebemos um projecto com as quebras de linhas em Windows CR LF e queremos abrir o ficheiro em Unix LF:

deep replace "\r" "" "*.html *.css *.js" --literal=0

e está a conversão feita, simples não?

Este é um daqueles comandos que adoramos em UNIX/Linux simples mas extremamente poderoso.