清华大佬耗费三个月吐血整理的几百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