UNIX两种文件中对应的JOB 相互检查( awk ,sed)

26 篇文章 0 订阅

目的:pjmrfile 中的内容是:

SSUNSYDDB14#PAUSU_ALS_CD_XCOM_MV_FILE_DDCW
 AT 0300   UNTIL 2000 +1 DAYS
OPENS SSUNSYDDB14#"/var/opt/transfer/cache/cards_stmts/ecsplus/DDCW*.txt"

 

SSUNSYDDB14#PAUSU_ALS_CD_XCOM_MV_FILE_DSM
 AT 0500 +1 DAYS UNTIL 2000 +1 DAYS
OPENS SSUNSYDDB14#"/var/opt/transfer/cache/cards_stmts/ecsplus/DSM*.txt"

 

report中的内容是:

PAUSU_ALS_CD_XCOM_MV_FILE_DDCW 0300 2000

PAUSU_ALS_CD_XCOM_MV_FILE_DSM 0500 2000

 

 

目的是根据report 中的JOB NAME, 来检查pjmrfile 对应的起始结束时间和report中是否一样。

 

还是先看以下的代码吧:

 

#!/bin/sh
# This is for Tivoli job name and shell name checking
#Author:
# Date : Dec 05 2009

# First check for job name

 awk '{print $1}' report > jobname

cat jobname | while read line;
do
  NAME=$line
  echo "$NAME"

# Check the realated job count  /* 检查PJMR 文件中含有多少个目标JOB
    awk '/'"$NAME"'/{print}' pjmrfile > resultfile
    RF=resultfile
    num=`cat $RF |wc -l`

    if [ $num -eq 1 ]
    then echo "OK!"
    else echo " Job missing or more than one job in pjmrfile!"
    fi

 

# Print the time of pjmrfile according the jobname

    awk '/'"$NAME"'/{print (NR+1)}' pjmrfile > ROW   /打印出目标JOB的下一行号   
    row=ROW
    RW=`cat $row`
    echo "$RW"
    sed -n "$RW"p pjmrfile > PJMR       / 打印出所为下一行的内容

#   sed 's/^AT /([0-9]*/).*UNTIL /([0-9]*/).*//1 /2/' PJMR > timeframe /这种方法当文件开头或中间有多空格时就报错!
   cat PJMR | sed "s//+1 DAYS//g" |sed "s/[^0-9]*//g" > timeframe

   cut -c 1-4 timeframe > ST
   cut -c 5-8 timeframe > ET

# The following will check the time between report and pjmrfile:

   awk '/'"$NAME"'/{print}' report > RP                /检查对应的JOB 的第二,三个域的时间
   awk '{print $2}' RP > st
   awk '{print $3}' RP > et

    ST2=ST
    st2=st
    ET2=ET
    et2=et
    ST1=`cat $ST2`
    ET1=`cat $ET2`
    st1=`cat $st2`
    et1=`cat $et2`
#   echo "$ST1"
#   echo "$ET1"
#   echo "$st1"
#   echo "$et1"
   if [ "$ST1" -eq "$st1" ]
   then echo "The start time is OK!"
   else echo "ERROR!"
   fi

   if [ "$ET1" -eq "$et1" ]
   then echo "The end time is OK!"
   else echo "ERROR!"
   fi


done

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shenghuiping2001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值