博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件拆分的问题
阅读量:3589 次
发布时间:2019-05-20

本文共 2896 字,大约阅读时间需要 9 分钟。

自己写的文件拆分

cd /product1/port/ocs_subscriber_import/src/local
filerowcount=0
for filename in `ls -l ${vfile}| awk '{print $9}'`
do
newfilenameleft=${filename%.*}
  filerowcount=`cat -n $filename |wc -l`
  temp=`expr $filerowcount \% 500000`
echo "tmp=${temp}"
temp1=`expr $filerowcount / 500000`
if [ $temp -gt 0 ] ;  then
temp1=`expr $temp1 + 1`
fi
file_seq=1;
hrow=500000;
echo "temp1=${temp1}"
  while [ $file_seq -le $temp1 ] 
  do
 
newfilenameleft="${newfilenameleft}_${file_seq}.unl"
 
if [ `expr $filerowcount-$hrow` -ge $hrow  ]; then
 
head -$hrow | tail -500000 >$newfilenameleft
 
else
 
 echo "---xx"
 
 if [ $filerowcount -le $hrow ] ; then
 
    n=$filerowcount
 
 else 
 
     n=`expr $filerowcount-$hrow`
 
 fi
 
 
 echo "n=${n}, hrow=${hrow}"
 
head -$hrow | tail -$n >$newfilenameleft
#这行有问题
 
fi
 
file_seq=`expr $file_seq+1`
 
hrow=`expr $hrow+500000`
  done

done

这实际上等同于:

split -l 500000 GXalluserinfo_V_20120704_101_000022.unl GXalluserinfo_V_20120704_101_000022.unl.

实例-----------------------------

FTPHOST="130.51.10.99"
USERNAME="xxxxx"
PASSWORD="xxxxxxx"
ld=$(perl -e "use POSIX qw(strftime); print strftime '%Y%m%d' , localtime( time()-3600*24*1) ")
echo $ld
vfile="GXalluserinfo_V_${ld}_*.unl"
bfile="GXyestacctbal_V_${ld}_*.unl"
localpath="/product1/port/bin/ocs_subscriber_import/local"
localbackpath="/product1/port/bin/ocs_subscriber_import/back/"
curpath="/product1/port/bin/ocs_subscriber_import/"
#取GXyestacctbal_V
bal_v_backpath="/data/jingfen/GXyestacctbal/backup/"
bal_v_path="/data/jingfen/"
#bal_v_backpath="/product1/interf/ocs_subscriber_import/src/back/"
#bal_v_path="/product1/interf/ocs_subscriber_import/src/back/"
ftp -i -n $FTPHOST<<FTPIT
user $USERNAME $PASSWORD
lcd ${localpath}
bin
prom
cd ${bal_v_path}
mget ${bfile}
quit
FTPIT
#处理取GXyestacctbal_V
echo "---------------------------"
cd  $localpath
for filename in `ls -l ${bfile}| awk '{print $9}'`
do
cd  $curpath
./ocs_subscriber_import GXyestacctbal  $filename 
echo ""
ftp -i -n $FTPHOST<<FTPIT2
user $USERNAME $PASSWORD
bin
prom
cd  $bal_v_path
rename $filename  "${bal_v_backpath}${filename}.bak"
quit
FTPIT2
done
echo ""
echo ""
echo ""
#取GXalluserinfo_V
info_v_backpath="/data/jingfen/GXalluserinfo_V/backup/"
info_v_path="/data/jingfen/"
#info_v_backpath="/product1/interf/ocs_subscriber_import/src/back/"
#info_v_path="/product1/interf/ocs_subscriber_import/src/back/"
ftp -i -n $FTPHOST<<FTPIT3
user $USERNAME $PASSWORD
lcd ${localpath}
bin
prom
cd ${info_v_path}
mget ${vfile}
quit
FTPIT3
#处理GXalluserinfo_V
cd ${localpath}
for filename in `ls -l ${vfile}| awk '{print $9}'`
do
split -l 500000 ${filename} ${filename}.
mv ${filename} ${localbackpath}
ftp -i -n $FTPHOST<<FTPIT4
user $USERNAME $PASSWORD
bin
prom
cd  ${info_v_path}
rename $filename  "${bal_v_backpath}${filename}.bak"
quit
FTPIT4
done
cd  ${localpath}
for filename in `ls -l  * | awk '{print $9}'`
do
cd ${curpath}
nohup ./ocs_subscriber_import GXalluserinfo_V $filename >nohup.out &
done

转载地址:http://lmvwn.baihongyu.com/

你可能感兴趣的文章
Spring基于注解的IOC初始化过程(较长慎入)
查看>>
《Arduino》开发 之 基于 u8g2 库 的 OLED 菜单界面
查看>>
python学习之旅
查看>>
python-00-小白,你该怎样学编程?
查看>>
py-mongdb语法
查看>>
计算机网络 | 无盘工作站的建立
查看>>
Redis基础知识
查看>>
面向对象设计的五大基本原则
查看>>
以项目为导向,助您入门python之搭建开发环境anaconda+pycharm
查看>>
以项目为导向,助您入门python之网络爬虫-爬取京东商品plus价格低于原价5折的商品(一)
查看>>
以项目为导向,助您入门python之网络爬虫-爬取京东商品plus价格低于原价5折的商品(二)
查看>>
mysql安装和配置ODBC驱动,然后tableau链接MySQL数据库
查看>>
以项目为导向,助您入门python之网络爬虫-爬取京东商品plus价格低于原价5折的商品(三)
查看>>
物联网之智能灯开发-前言
查看>>
物联网之智能灯-Django(一)
查看>>
使用计算机视觉技术进行工业品质检测
查看>>
Python小白入门分享
查看>>
突破编程瓶颈《数据结构与算法》初识
查看>>
SystemError: execution of module h5py.utils raised unreported exception
查看>>
java中使用键盘录入数据
查看>>