创建空文件的shell脚本,文件创建路径和文件名从Oracle数据库指定表中读取。
如题,编写一个这样的shell脚本,文件名和文件路径都是从oracle一个表中的两个字段获取数据。...
如题,编写一个这样的shell脚本,文件名和文件路径都是从oracle一个表中的两个字段获取数据。
展开
1个回答
展开全部
#取出文件名和路径到/oracle/filename_temp.txt文件中,这里把文件名和路路径用 | 分开了 方便awk取值
echo "sqlplus user/pwd@sid <<!!
set feedback off
set heading off
set pagesize 0
set linesize 50
set term off verify off
set echo off
set colsep ","
set trimspool on
spool /oracle/filename_temp.txt
select filepath||'|'||filename from temptable;
spool off
quit
!! " > /oracle/filename_temp.sh
sh /oracle/filename_temp.sh
rm /oracle/filename_temp.sh
cat /oracle/filename_temp.txt|grep -v SQL|while read line
do
filepath=`echo $line|awk -F '|' '{print $1}'`
filename=`echo $line|awk -F '|' '{print $2}'`
mkdir -p /oracle/$filepath #这里的路径可能还要根据你的要求自己改下
cd /oracle/$filepath
touch $filename
done
echo "sqlplus user/pwd@sid <<!!
set feedback off
set heading off
set pagesize 0
set linesize 50
set term off verify off
set echo off
set colsep ","
set trimspool on
spool /oracle/filename_temp.txt
select filepath||'|'||filename from temptable;
spool off
quit
!! " > /oracle/filename_temp.sh
sh /oracle/filename_temp.sh
rm /oracle/filename_temp.sh
cat /oracle/filename_temp.txt|grep -v SQL|while read line
do
filepath=`echo $line|awk -F '|' '{print $1}'`
filename=`echo $line|awk -F '|' '{print $2}'`
mkdir -p /oracle/$filepath #这里的路径可能还要根据你的要求自己改下
cd /oracle/$filepath
touch $filename
done
追问
谢谢!已经实现,但是是分成两个shell脚本,两部分内容不知可否合为一个shell脚本?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询