Advertisement
Guest User

Untitled

a guest
May 24th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. arquivo_entrada='script.sql'
  4. arquivo_tmp='temporario.sql'
  5. arquivo_saida='saida.sql'
  6.  
  7. function AjustesIniciais() {
  8. head -n1 ${arquivo_entrada} | tail -n1 > ${arquivo_tmp}
  9. echo "" >> ${arquivo_tmp}
  10. head -n3 ${arquivo_entrada} | tail -n1 | sed 's/\$/variavel/g' >> ${arquivo_tmp}
  11. }
  12.  
  13. function AplicaValores() {
  14. local query=$(head -n3 ${arquivo_tmp} | tail -n1)
  15. local parametro_linha=$(head -n1 ${arquivo_tmp} | tail -n1)
  16.  
  17. local parametro=$(echo $parametro_linha | tr "," "\n" | cut -d= -f2 | sed 's/ //')
  18.  
  19. IFS='
  20. '
  21. local incrementoj=0
  22. local vetor=()
  23. for argumento in $parametro
  24. do
  25. vetor[$incrementoj]=$argumento
  26. let incrementoj++
  27. done
  28.  
  29. local incrementoj=1
  30. local query_cache=""
  31. for i in ${vetor[@]}
  32. do
  33. query=$(echo $query | sed "s/\<variavel${incrementoj}\>/$i/g")
  34. query_cache=$query
  35. let incrementoj++
  36. done
  37.  
  38. echo $query >> ${arquivo_saida}
  39.  
  40. # adiciona ; no final de cada linha
  41. sed -i 's/$/;/g' ${arquivo_saida}
  42.  
  43. # deleta arquivo temporario
  44. if [ -f "$arquivo_tmp" ]
  45. then
  46. rm ${arquivo_tmp}
  47. fi
  48. }
  49.  
  50. AjustesIniciais
  51. AplicaValores
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement