分割大文件

前端之家收集整理的这篇文章主要介绍了分割大文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

# !/bin/bash
# 手动分割日志

#第一种方法,手写的,主要是练习shell编程
newPath="F:/tools/shell/a/";
newFile="access.log";

file_name=$1;

if [ ! -f $file_name ]; then
    echo "没有找到该文件"; exit;
fi

#判断不为空
if [ -z $2 ]; then
    echo "给我一个分割数字"; exit;
else 
    line=$2;
fi

if [[ $line -le 0 ]]; then
    echo "给我一个合适的数字"; exit;
fi

all_line=`cat $file_name | wc -l`;
all_group=`expr $all_line / $line + 1`; 
startNums=1;
endNums=$line;
i=1;

# for ((i=1;i<=$all_group;i++))
# do  
#     sed -n "${startNums},${endNums}p" $file_name > "$newPath"`date +'%Y%m%d'`"$i$newFile";
#     startNums=$endNums;
#     endNums=`expr $endNums + $line`;
# done

until [ $endNums -ge `expr $all_line + $line` ]; 
do
    sed -n "${startNums},${endNums}p" $file_name > "$newPath"`date +'%Y%m%d'`"$i$newFile";
    startNums=$endNums;
    endNums=`expr $endNums + $line`;
    i=$[ $i + 1 ];    
done


#第二种方法更加方便快捷,默认会给newlog加标示
split -l 5000 access.log newlog

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

猜你在找的Shell相关文章