Guest User

Untitled

a guest
Apr 25th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. #define you database user:
  4. USR="root"
  5. #define your database password:
  6. PWD=""
  7.  
  8. formatt () {
  9. LINES=$1
  10. FLINE=$(echo "$LINES"|head -1)
  11. NF=$(echo "$FLINE"|awk '{print NF}')
  12. NL=$(echo "$LINES"|wc -l)
  13. WORDS=(`echo $FLINE`)
  14. CNT=0
  15.  
  16. while [ $CNT -lt $NF ]; do
  17. WORD=${WORDS[$CNT]}
  18. FIELDS[$CNT]=${#WORD}
  19. CNT=`expr $CNT + 1`
  20. done
  21.  
  22. CNT2=2 #skipping firt line
  23. while [ $CNT2 -le $NL ]; do
  24. LINE=`echo "$LINES"|sed -n "${CNT2}p"`
  25. WORDS=($LINE)
  26. CNT=0
  27.  
  28. while [ $CNT -lt $NF ]; do
  29. WORD=${WORDS[$CNT]}
  30. WL=${#WORD}
  31. if [ ${FIELDS[$CNT]} -lt $WL ]; then FIELDS[$CNT]=$WL; fi
  32. CNT=`expr $CNT + 1`
  33. done
  34. CNT2=`expr $CNT2 + 1`
  35. done
  36.  
  37. CNT=0
  38. LINLEN=0
  39. while [ $CNT -lt $NF ]; do LINLEN=$(expr $LINLEN + ${FIELDS[$CNT]}); CNT=$(expr $CNT + 1); done
  40. LINLEN=$(echo "$LINLEN + 1 + $NF * 2"|bc)
  41. LINESEP=$(printf "%*s" $LINLEN "")
  42. LINESEP=$(echo "${LINESEP// /-}")
  43.  
  44.  
  45. echo $LINESEP
  46. CNT2=1 #skipping firt line
  47. while [ $CNT2 -le $NL ]; do
  48. if [ $CNT2 -eq 2 ]; then echo $LINESEP; fi
  49. LINE=`echo "$LINES"|sed -n "${CNT2}p"`
  50. WORDS=($LINE)
  51. CNT=0
  52.  
  53. while [ $CNT -lt $NF ]; do
  54. WORD=${WORDS[$CNT]}
  55. if [ -z $WORD ]; then WORD="--"; fi
  56. if [ $CNT -eq 0 ]; then echo "|\c"; fi
  57. echo "$(echo $WORD | sed -e :a -e "s/^.\{1,${FIELDS[$CNT]}\}$/& /;ta")\c"
  58. echo "|\c"
  59. CNT=`expr $CNT + 1`
  60. done
  61. echo ""
  62.  
  63. CNT2=`expr $CNT2 + 1`
  64. done
  65. echo $LINESEP
  66. }
  67.  
  68. OUT=$(mysql -u root -p$PWD $1 -e 'SHOW TABLES;'| sed '1d')
  69. for table in $OUT
  70. do
  71. formatt "$(mysql -u$USR -p$PWD $1 -e "SHOW COLUMNS FROM $table;")"
  72. echo ""
  73. formatt "$(mysql -u$USR -p$PWD $1 -e "SHOW INDEX FROM $table;")"
  74. echo ""
  75. done
Add Comment
Please, Sign In to add comment