sábado, 28 de agosto de 2010

Shell Script para ler lista e buscar dependências em arquivos

Recentemente precisei fazer uma análise de dependências entre programas escritos em Pro*C e rotinas armazenadas em banco de dados.

Para realizar essa tarefa, gerei um arquivo com a lista de rotinas armazenadas no banco de dados (funções, procedures e packages), chamada "listaProc.txt" e um shell script que executa um loop nessa lista.
Nesse loop, para cada rotina listada, o script executa uma busca por ela nos arquivos da pasta atual e, gera o resultado da busca em um arquivo de resultados (arquivo "resultado.txt"), relacionando o nome da rotina com os arquivos onde ela é invocada.

A busca é realizada utilizando o comando grep -i.

Abaixo segue o código do Shell Script:
#!/bin/bash
for i in $(cat /home0/users/josbar/listaProc.txt)
do
grep -i "$i" *.pc >> resultado.txt
done
Depois de executado o script, basta carregar o arquivo "resultado.txt" em uma planilha como se fosse um arquivo "csv", delimitado pelo caracter ":" e fazer a análise.

No meu caso, o script foi útil para fazer a análise de dependência em programas Pro*C, mas pode ser utilizado para outros tipos de arquivos.

Referências:

sábado, 21 de agosto de 2010

Criar uma árvore completa de diretórios

 mkdir -p docs/{img/{fotos,icons,wallpapers,svg},textos/{artigos,man},tmp}

A regra aqui é a seguinte:

para cada pasta que conterá subpastas use "nome/{}" dentro das chaves
coloque os nomes separados por vírgula
e não esqueça de usar o parâmetro '-p' no começo do comando!

domingo, 8 de agosto de 2010

Instalando Oracle 10g XE no Ubuntu 64 bits

Um dos maiores problemas que os usuários do Ubuntu 64 bits tem em instalar o Oracle 10 XE é que ele está disponível apenas para versões 32 bits.
Bom não se preocupe, você também pode instalá-lo.

Primeiramente você deverá ter certeza de que instalou a biblioteca a 32 bits.

Para fazer isso siga os passos abaixo, usando o Terminal

sudo apt-get install libc6-i386

Após isso temos que baixar o Oracle 10g XE. Nós iremos baixar do site oficial da Oracle. Também temos que baixar um pacote deb extra. Para isso, faça o seguinte

wget -c http://oss.oracle.com/debian/dists/unstable/main/binary-i386/libaio_0.3.104-1_i386.deb

Para instalar este dois pacotes. Teremos que forçar a instalação do Oracle.

dpkg -i --force-architecture libaio_0.3.104-1_i386.deb
dpkg -i --force-architecture oracle-xe-universal_10.2.0.1-1.1_i386.deb

Quando a instalação estiver pronta, execute o comando abaixo para poder configurar o Oracle.

sudo /etc/init.d/oracle-xe configure

configure o arquivo ~/.bashrc

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME
export ORACLE_SID=XE
export PATH

Depois, vá para o menu Aplicativos em Oracle Database e click em ir para a Home Page do Banco de Dados ou digite no Browser o endereço abaixo.

http://127.0.0.1:8080/apex

Pronto, agora você poderá usar seu Oracle 10g XE.

segunda-feira, 2 de agosto de 2010

Gerar senhas randomicamente

Select criado para gerar senhas randomicamente:

select

dbms_random.string('Z', 5)trunc(dbms_random.value(1000, 9999))
from dual;

t+