ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一个小shell

一个小shell

原创 Linux操作系统 作者:wuft2003 时间:2009-09-01 13:00:12 0 删除 编辑
DIFF=_diff
BAK=_bak
LINES=line
while read FILENAME
do
#核对文件的行数是否对应
#文件(/eusp/data/h_data/filesin.txt)存放的要核对的文件名(包括路径)
FILENAME_DEAL="$FILENAME"_deal
FILENAME_ERR="$FILENAME"_err
FILENAME_DEAL_DIFF="$FILENAME"_deal_diff
#echo "$FILENAME"
#echo "$FILENAME_DEAL"
#echo "$FILENAME_ERR"
#echo $FILENAME_DEAL_DIFF
if [ -f "$FILENAME"  -a -f "$FILENAME_DEAL" -a ! -f "$FILENAME_ERR" ]
then
            
          LINE1=`cat $FILENAME | wc -l`
          LINE2=`cat $FILENAME_DEAL | wc -l`
         
           if [ ${LINE1} -ne ${LINE2} ]
           then
           #查找$filename$deal$diff文件的行数diff1和其中包括的特殊字符$lines开头的行数
               DIFF1=`cat $FILENAME_DEAL_DIFF|wc -l`
               DIFF2=`grep $LINES $FILENAME_DEAL_DIFF|wc -l`
              
               ENTER1=`expr $DIFF1 - 1 - 4 \* $DIFF2`
               ENTER2=`expr $LINE1 - $LINE2`

               if [ $ENTER1 -ne $ENTER2 ]
               then
                  echo "$FILENAME处理前后行数不等,分别为$IN1和$OUT1"
               else
                   mv $FILENAME "$FILENAME"_bak
                   mv $FILENAME_DEAL $FILENAME
                   echo "$FILENAME is moved  1"
               fi
           else
                   mv $FILENAME "$FILENAME"_bak
                   mv $FILENAME_DEAL $FILENAME
                   echo "$FILENAME is moved 2"
            fi
else
echo " 上面文件不存在!"
fi
done < filesin.txt

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21634752/viewspace-613685/,如需转载,请注明出处,否则将追究法律责任。

下一篇: informix 长事务
请登录后发表评论 登录
全部评论

注册时间:2009-05-12

  • 博文量
    295
  • 访问量
    322703