Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- #rm headers
- #Parametros: $DBUSER $DBPASS $DB
- #Asume delimitación por pipe: |
- #Tipo por defecto del campo VARCHAR
- #Tamaño por defecto del campo 1024
- ls -1 [0-9][0-9]-*.txt | sort -in | while read file
- do
- TABLE=`echo ${file%\.*}`
- TABLA=`echo $TABLE| tr - _`
- echo "Extracting headers from $file"
- HEADS=`head -n1 "$file"`
- HEADC=`echo $HEADS | tr '\|' '\n' | wc -l`
- #echo "Table: $TABLE"
- #echo "Heads: $HEADS"
- #echo "Headc: $HEADC"
- echo "DROP TABLE IF EXISTS $TABLA;
- CREATE TABLE $TABLA( " > $TABLA.sql
- X=1
- while [ $X -le $HEADC ]
- do
- #echo "Iteracion x: $X"
- FIELD=`echo $HEADS | cut -f$X -d\|`
- # echo "Field: $FIELD"
- if [[ $X -eq $HEADC ]]
- then
- echo "$FIELD VARCHAR(255) " >> $TABLA.sql
- else
- echo "$FIELD VARCHAR(255), " >> $TABLA.sql
- fi
- X=$(( $X + 1))
- done
- echo "); " >> $TABLA.sql
- mysql -u$DBUSER -p$DBPASS $DB < $TABLA.sql
- cat $file | sed -e'1d' > $TABLA.dat
- mysqlimport -d --local --fields-terminated-by=\| --user=$DBUSER --password=$DBPASS $DB $TABLA.dat
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement