linux使用shell合并文件夹下的所有文件,适合用于sql合并

版权声明:若转载请指明出处 https://blog.csdn.net/qq_24790545/article/details/82494474
#!/bin/sh
if [ $# != 1 ] ; then 
echo "Please enter the name of the file" 
exit 1; 
fi 

if test -f /d/AAAAA/sql
    then
        rm /d/AAAAA/sql
        echo "删除成功……"
    fi

cd /D/AAAAA/JZYY-DOCS/DB/$1
#cd /D/AllCode/$1

for file in `ls /D/AAAAA/JZYY-DOCS/DB/$1`
#for file in `ls /D/AllCode/$1`    
do  
    echo "--$file" >> /d/AAAAA/sql


    echo `date +"%Y-%m-%d %H:%M:%S"` "/D/AAAAA/JZYY-DOCS/DB/$1""--$file" >> /d/AAAAA/recode.log


    if [ `cat $file | grep '&&' | wc -l` -ne 0 ] || [ `cat $file | grep -e '||' | wc -l` -ne 0 ] ; then



        echo "" >> /d/AAAAA/sql     
        echo "prompt PL/SQL Developer import file" >> /d/AAAAA/sql
        echo "prompt Created on 20171212 by liuyinping292" >> /d/AAAAA/sql
        echo "set feedback off" >> /d/AAAAA/sql
        echo "set define off" >> /d/AAAAA/sql
        echo "prompt Disabling triggers for `echo $file | awk -F '_insert_|_update_|_delete_|_alter_|_create_' '{print $2}' | awk -F '.' '{print $1}'`..." >> /d/AAAAA/sql
        echo "alter table `echo $file | awk -F '_insert_|_update_|_delete_|_alter_|_create_' '{print $2}' | awk -F '.' '{print $1}'` disable all triggers;" >> /d/AAAAA/sql
        echo "prompt Deleting `echo $file | awk -F '_insert_|_update_|_delete_|_alter_|_create_' '{print $2}' | awk -F '.' '{print $1}'`..." >> /d/AAAAA/sql
        echo "prompt Loading `echo $file | awk -F '_insert_|_update_|_delete_|_alter_|_create_' '{print $2}' | awk -F '.' '{print $1}'`..." >> /d/AAAAA/sql
        echo "" >> /d/AAAAA/sql 

        cat $file >> /d/AAAAA/sql
        echo "" >> /d/AAAAA/sql 
        echo "prompt Enabling triggers for `echo $file | awk -F '_insert_|_update_|_delete_|_alter_|_create_' '{print $2}' | awk -F '.' '{print $1}'`..." >> /d/AAAAA/sql
        echo "alter table `echo $file | awk -F '_insert_|_update_|_delete_|_alter_|_create_' '{print $2}' | awk -F '.' '{print $1}'` enable all triggers;" >> /d/AAAAA/sql
        echo "set feedback on" >> /d/AAAAA/sql
        echo "set define on" >> /d/AAAAA/sql
        echo "prompt Done." >> /d/AAAAA/sql
        echo "" >> /d/AAAAA/sql 


    else
        cat $file >> /d/AAAAA/sql

        echo "" >> /d/AAAAA/sql
    fi
    echo $file
    #echo "table length is: `echo $file | awk -F '_insert_|_update_|_delete_|_alter_|_create_' '{print $2}' | awk -F '.' '{print $1}' | awk '{print length($0)}'` char"

done

#echo "commit;" >> /d/AAAAA/sql

猜你喜欢

转载自blog.csdn.net/qq_24790545/article/details/82494474