-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmap-file-split-template.sh
More file actions
41 lines (29 loc) · 1.86 KB
/
map-file-split-template.sh
File metadata and controls
41 lines (29 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
TABLE_NAME=$1
SOURCE_FILE=$2
O_TABLE_SQL=$3
V_O_VIEW_SQL=$4
O_TAB_COLUMN_SQL=$5
TRANSFORM_SQL=$6
FILE_NAME=$(basename $SOURCE_FILE)
source $PRECISION100_OPERATORS_FOLDER/smart-map-file/conf/.operator.env.sh
TEMP_FILE_0="$PRECISION100_OPERATOR_SMART_MAP_FILE_WORK_FOLDER/$FILE_NAME"
TEMP_FILE_1="$TEMP_FILE_0.t1"
TEMP_FILE_2="$TEMP_FILE_0.t2"
TEMP_FILE_3="$TEMP_FILE_0.t3"
DDL_SOURCE_FILE="$TEMP_FILE_0.ddl"
JOIN_SOURCE_FILE="$TEMP_FILE_0.join"
MAP_FILE_DELIMITER=${DEFAULT_MAP_FILE_DELIMITER:-~}
cat $SOURCE_FILE | cut -d $'\t' -f 1 | tr '[:lower:]' '[:upper:]' | tr -s ')' ' ' | tr -s '(' ' ' | tr -s '[:punct:]' ' ' | sed 's/[[:blank:]]*$//' > $TEMP_FILE_1
awk -f $PRECISION100_OPERATORS_FOLDER/smart-map-file/bin/dict.awk $PRECISION100_OPERATORS_FOLDER/smart-map-file/bin/dictionary.dat $TEMP_FILE_1 | tr ' ' '_' > $TEMP_FILE_2
paste $TEMP_FILE_2 $SOURCE_FILE > $TEMP_FILE_3
grep -i -v ${MAP_FILE_JOIN_FILTER} $TEMP_FILE_3 > "$DDL_SOURCE_FILE"
grep ${MAP_FILE_JOIN_FILTER} $TEMP_FILE_3 | tr -d "$MAP_FILE_DELIMTER" | sed -n "s/${MAP_FILE_JOIN_FILTER}//p" > "$JOIN_SOURCE_FILE"
echo " SMART-MAP-FILE ADAPTOR CREATING O_ TABLE SCRIPT: $FILE_NAME"
$PRECISION100_OPERATORS_FOLDER/smart-map-file/bin/map-file-o-table.sh $TABLE_NAME $DDL_SOURCE_FILE > $O_TABLE_SQL
echo " SMART-MAP-FILE ADAPTOR CREATING V_O_ VIEW SCRIPT: $FILE_NAME"
$PRECISION100_OPERATORS_FOLDER/smart-map-file/bin/map-file-view.sh $TABLE_NAME $DDL_SOURCE_FILE > $V_O_VIEW_SQL
echo " SMART-MAP-FILE ADAPTOR CREATING INSERT TABLE METADATA SCRIPT: $FILE_NAME"
$PRECISION100_OPERATORS_FOLDER/smart-map-file/bin/map-file-tab-columns.sh $TABLE_NAME $DDL_SOURCE_FILE > $O_TAB_COLUMN_SQL
echo " SMART-MAP-FILE ADAPTOR CREATING TRANSFORM SCRIPT: $FILE_NAME"
$PRECISION100_OPERATORS_FOLDER/smart-map-file/bin/map-file-transform.sh $TABLE_NAME $DDL_SOURCE_FILE $JOIN_SOURCE_FILE > $TRANSFORM_SQL