需求:
sql loader 的控制文件中提取表名和表字段
控制文件:
LOAD DATA
APPEND
INTO TABLE T_ROCRM_CUS_PRD_TOTAL
FEIELDS TERMINATED BY ' | ' TRAILING NULLCOLUS
(
APPEND_MODE "TRIM(:APPG_MODE)",
APPEND_DATE "TRIM(:APPG_DATE)",
DHASDHAJDS "CDSYCWBSC"
)
shell
#!/bin/bash
cat /dev/null > abcde.txt
echo "--------------------------" >> abcde.txt
for x in "$@"
do
temp=`ls | grep $x | tail -1`
echo "--系统名+文件标识--" >> abcde.txt
echo $x >> abcde.txt
echo "Oracle表名:" >> abcde.txt
cat $temp | grep 'INTO TABLE' | awk '{print $3}' >> abcde.txt
echo "oracle 表字段:" >> abcde.txt
startsec1=`grep -n '(' $temp | grep ':(' | awk -F ':' '{print $1}'`
startsec=$[$startsec1+1]
endsec1=`grep -n ')' $temp | grep ':)' | awk -F ':' '{print $1}'`
endsec=$[$endsec1-1]
sed -n ''$startsec','$endsec'p' $temp | awk '{print $1}' >> abcde.txt
echo "--------------------------" >> abcde.txt
done
./findkey.sh test4 ttest4
结果文件:
--------------------------
--系统名+文件标识--
test4
Oracle表名:
T_ROCRM_CUS_PRD_TOTAL
oracle 表字段:
APPEND_MODE
APPEND_DATE
DHASDHAJDS
--------------------------
--系统名+文件标识--
ttest4
Oracle表名:
T_ROCRM_CUS_PRD_TOTAL
oracle 表字段:
APPEND_MODE
APPEND_DATE
DHASDHAJDS
--------------------------