完整脚本如下 #!/bin/bash #当天抽取 TIMERESULT=`date +"%Y%m%d"` #TIMERESULT=`date -d '1 days ago' +"%Y%m%d"` TIMEMONTHS=`date +"%Y%m"` dir_path="/home/s_it_res/datax/datax/jsoncfg/oracle_to_kudu_0413/script/gfc/GKZZ/${TIMERESULT}" cd $dir_path file_name="831_GKZZ_DF_FTTH_OBD_ZZ_DTL_NEW_${TIMERESULT}_${TIMERESULT}_D_00_0001.DAT" file_size=$(du -m "$file_name" | cut -f1) if [ "$file_size" -gt 100 ]; then # 如果文件大小超过100M,则进行切割 split -C 100M -d "$file_name" "$file_name" # 重命名切割后的文件 i=1 for f in "$file_name"??; do mv "$f" "831_GKZZ_DF_FTTH_OBD_ZZ_DTL_NEW_${TIMERESULT}_${TIMERESULT}_D_00_$(printf "%04d" $i).DAT" ((i++)) done # 压缩文件 gzip 831_GKZZ_DF_FTTH_OBD_ZZ_DTL_NEW_${TIMERESULT}_${TIMERESULT}_D_00*.DAT fi echo $result
时间: 2024-04-22 10:25:24 浏览: 167
0403-极智开发-解读shell脚本开头bin-bash的作用
5星 · 资源好评率100%
根据完整的脚本,最后一个后缀为9000的原因是在重命名切割后的文件时,变量i的初始值设定为1,并且在每次循环中递增1。由于切割后的文件数量未知,因此无法确定最后一个文件的具体序号。在脚本中并没有明确指定最大的文件数量,所以循环将一直执行,直到没有符合条件的文件为止。因此,最后一个文件的序号取决于切割后的文件数量。根据脚本中的逻辑,最后一个文件的序号将是切割后的文件数量加1。
阅读全文