写了个常用的unix shell ,文件加工处理,ftp 取文件,并取下一个工作日

这是主的shell

作用获得上一个日期,用那个日期进行文件处理,

并自动累加日期加下一个日期

利用了数据库来进行日期累,网上有脚本,不利用数据库的,大大可以改进啊

#!/bin/sh

cd $HOME/trans_rpt
lastday=`cat lastday.lst |cut -c1-8`
echo "lastday is" $lastday
day=`date +%Y%m%d`
while [ $# -gt 0 ]
do
       case $1 in
        -d[2][0][0][0-9][0-9][0-9][0-9][0-9] )
        day=`expr "$1" : '-d\(.*\)'`
        lastday=20060000
        ;;
       esac
       shift
done
if [ "$lastday" -ge  "$day" ]; then
 echo "上一次运行日$lastday 大于等于 $currentday"
 exit
else
 if [  $lastday -ne "20060000"  ]; then
      echo "change day to lastday"
      day=$lastday


 fi
fi
filename=${day}.txt
echo "get file" $day $filename
ftp -n 192.168.0.1 <<!
user aa aa
asc
prompt off
cd aaa
get $filename
bye
!
echo ${day}> newATMC.txt
if [  -r "$filename" ]; then
 echo "Ok get atmp file report"
  gawk -f newATM.awk $filename >>newATMC.txt
   rm -f $filename
   if [ $day -ne "20060000"  ]; then
      rm getNextDaytmp.sql

      sed "s/sysdate/${day}/" getNextWorkDay.sql >  getNextDaytmp.sql

     sqlplus aa/aa @getNextDaytmp.sql

    echo "change last day"
   fi
fi

shell 已经结束

getNextWorkDay.sql  作用用来取下一个工作日

内容

set echo off
set head off
set pagesize 0
set line 10
spool lastday
select to_char(to_date(sysdate,'yyyymmdd')+1,'yyyymmdd') from dual;
spool off
exit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值