这段shell程序在正式生产系统上运行可能会有错误
#!/usr/bin/ksh
#oracle数据取出shell
if [ $# -ne 3 ]
then
echo "unload.ori user/passwd table_name data_file"
exit
fi
sqlplus $1 <<! >/dev/null
set colsep '|';
set echo off;
set feedback off;
set heading off;
set pagesize 0;
set linesize 25500;
set numwidth 255;
set termout off;
set trimout on;
set trimspool on;
spool $3.temp;
select * from $2;
spool off;
exit
!
cat $3.temp |tr -s '* ' ' ' >$3
ed $3 <<!
1,1d
w
$
.,.d
w
%s/$/|/
w
q
!
#cat /dev/null>$3
#sed -e "s/|//" $3.temp >$3
#mv $3 $3.temp
#sed -e "s/$/|/" $3.temp >$3