Setar uma variavel no ambiente linux e usar no ambiente oracle

1. Setar uma variavel no ambiente linux e usar no ambiente oracle

Samuel Amaro da Silva
Samorvell

(usa Ubuntu)

Enviado em 04/02/2015 - 14:45h

Galera, procurei mas não encontrei talvez pq seja fácil de fazer, porem não encontro em lugar nenhum,
seguinte, preciso fazer um shell que pegue um conjunto de números em um arquivo de texto, em seguida
setar esse conjunto de números em uma variável exemplo NUM, depois preciso fazer com o que o oracle
busque essa variável para que seja usada em um script sql, para alterar no banco.
Não sei como fazer isso, consigo fazer o script para setar a variável mas não encontrei nada que faça o
shell buscar esse arquivo leia somente esse conjunto de números e jogue em uma variável.
Pensei em usar o awk, mas precisaria saber por quais números buscar nesse caso eu preciso que ele
busque esses números nesse arquivo, em seguida set em uma variável, não sei se conseguir me expressar bem.
agradeço desde já.


  


2. Re: Setar uma variavel no ambiente linux e usar no ambiente oracle

Perfil removido
removido

(usa Nenhuma)

Enviado em 04/02/2015 - 16:46h

Não entendi, seria mais ou menos você ter um arquivo qualquer cujo o conteúdo são apenas números e colocá-los todos numa variável? Exemplo:

# criando o arquivo com números:
$ seq 10 > numeros.txt

# colocando o conteúdo de "numeros.txt" em $numeros:
$ numeros=$(<numeros.txt)

$ echo $numeros
1 2 3 4 5 6 7 8 9 10

É mais ou menos isto ou não tem nada haver?


3. Maiso ou menos isso

Samuel Amaro da Silva
Samorvell

(usa Ubuntu)

Enviado em 04/02/2015 - 16:52h

Assim, tenho um script que gera uma ordem de números, uma sequencia que é alterada todos os dias pelo ambiente linux,
preciso fazer um shell que esse arquivo, esse arquivo varia de tamanho, as vezes tem milhares de linhas as vezes somente 8 linhas, mas as informações que preciso sempre ficam no cabeçalho ou no rodapé, tenho a informação que preciso nos dois, preciso pegar esses 4 numeros e jogar em uma variavel, essa resposta vc me deu agora com seu exemplo, agora eu vou fazer um script sql que pegue essa variavel e jogue o conteudo dela dentro de uma variavel oracle ou até utilize a variavel do linux, isso que não sei como fazer, não entendo muito de oracle alias estou começando com banco de dados a mais ou menos 3 meses, não sei se consegui ser claro.

outra pergunta se eu setar essa variavel no linux, criar um script sql, que pegue essa variavel do ambiente linux, o oracle usa essa variavel normalmete ou tenho que indicar de alguma forma que a variavel esta no ambiente?


Exemplo
tenho o arquivo dayseq
dentro delete tenho os seguinte conteúdo
*0002034013413041234*
*2140*

esse conteúdo tanto no cabeçalho quanto no rodapé, preciso jogar em uma variavel o 2140, para fazer um script sql para altera no banco.



4. Re: Setar uma variavel no ambiente linux e usar no ambiente oracle

Perfil removido
removido

(usa Nenhuma)

Enviado em 04/02/2015 - 18:09h

Samorvell escreveu:

Assim, tenho um script que gera uma ordem de números, uma sequencia que é alterada todos os dias pelo ambiente linux,
preciso fazer um shell que esse arquivo, esse arquivo varia de tamanho, as vezes tem milhares de linhas as vezes somente 8 linhas, mas as informações que preciso sempre ficam no cabeçalho ou no rodapé, tenho a informação que preciso nos dois, preciso pegar esses 4 numeros e jogar em uma variavel, essa resposta vc me deu agora com seu exemplo, agora eu vou fazer um script sql que pegue essa variavel e jogue o conteudo dela dentro de uma variavel oracle ou até utilize a variavel do linux, isso que não sei como fazer, não entendo muito de oracle alias estou começando com banco de dados a mais ou menos 3 meses, não sei se consegui ser claro.

outra pergunta se eu setar essa variavel no linux, criar um script sql, que pegue essa variavel do ambiente linux, o oracle usa essa variavel normalmete ou tenho que indicar de alguma forma que a variavel esta no ambiente?


Exemplo
tenho o arquivo dayseq
dentro delete tenho os seguinte conteúdo
*0002034013413041234*
*2140*

esse conteúdo tanto no cabeçalho quanto no rodapé, preciso jogar em uma variavel o 2140, para fazer um script sql para altera no banco.


Assumindo que o cabeçalho do arquivo sempre seja as duas primeiras linhas e você deseja apenas o número que está na segunda:

numero=$(sed '2{s/[^0-9]\+//g;q};d' dayseq) 


Para usar essa variável com o sqlplus, você pode usar os exemplos dessa página aqui:

http://stackoverflow.com/questions/19182286/how-to-run-sql-in-shell-script


5. textmode ok

Samuel Amaro da Silva
Samorvell

(usa Ubuntu)

Enviado em 04/02/2015 - 20:03h

Vou fazer o teste, se eu conseguir vou ser eternamente grato a vc.

Assim que eu fizer os testes posto aqui o resultado.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts