清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
# !/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