前天在qq群里有个朋友问这个问题,当时有想法。昨晚没事写了个脚本实现,暂时不是太完善,有些地方要改进,比如文件的路径问题。我这个脚本必须和文件放一个文件夹。

#!/bin/bash

ls /opt/ > /tmp/1.txt
declare -i totle_hang=`ls /opt/ |wc -l`
declare -i n_mode=`echo "scale=0; $totle_hang/100" |bc -l`


declare -i i=1
until [ "$i" -gt "$n_mode" ]
do
declare -i min_hang=`echo "$i*100-99" |bc -l`
file_name=`less /tmp/1.txt | awk "NR>=$min_hang" |awk "NR<=100"`
         tar -zcvf $i.tar.gz $file_name

        ((i++))
echo $i
done