01.Linux实践1

需求:

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
--------------------------

你可能感兴趣的:(Shell实践记录)