Advertisement
Guest User

Untitled

a guest
Sep 8th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.03 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3.  
  4. #rm headers
  5.  
  6. #Parametros: $DBUSER $DBPASS $DB
  7. #Asume delimitación por pipe: |
  8. #Tipo por defecto del campo VARCHAR
  9. #Tamaño por defecto del campo 1024
  10.  
  11. ls -1 [0-9][0-9]-*.txt | sort -in | while read file
  12. do
  13.  
  14. TABLE=`echo ${file%\.*}`
  15. TABLA=`echo $TABLE| tr - _`
  16. echo "Extracting headers from $file"
  17.  
  18. HEADS=`head -n1 "$file"`
  19. HEADC=`echo $HEADS | tr '\|' '\n' | wc -l`
  20.  
  21. #echo "Table: $TABLE"
  22. #echo "Heads: $HEADS"
  23. #echo "Headc: $HEADC"
  24.  
  25. echo "DROP TABLE IF EXISTS $TABLA;
  26. CREATE TABLE $TABLA( " > $TABLA.sql
  27.  
  28. X=1
  29.  
  30. while [ $X -le $HEADC ]
  31. do
  32. #echo "Iteracion x: $X"
  33.  
  34. FIELD=`echo $HEADS | cut -f$X -d\|`
  35.  
  36. # echo "Field: $FIELD"
  37.  
  38. if [[ $X -eq $HEADC ]]
  39. then
  40. echo "$FIELD VARCHAR(255) " >> $TABLA.sql
  41. else
  42. echo "$FIELD VARCHAR(255), " >> $TABLA.sql
  43. fi
  44. X=$(( $X + 1))
  45. done
  46.  
  47. echo "); " >> $TABLA.sql
  48.  
  49. mysql -u$DBUSER -p$DBPASS $DB < $TABLA.sql
  50.  
  51. cat $file | sed -e'1d' > $TABLA.dat
  52.  
  53. mysqlimport -d --local --fields-terminated-by=\| --user=$DBUSER --password=$DBPASS $DB $TABLA.dat
  54.  
  55.  
  56. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement