#!/bin/bash# exctute# ./mod.sh file_type input_folder output_folder# ./mod.sh *.txt /tmp /data/# paramater count if [ ! $# -eq 3 ]; thenecho "[ERROR] error paramater."exitfi# file typefile_type="${1}"# input foloderif [ -d "${2}" ]; then folder="${2}"elseecho "[ERROR] input folder is not exsit."exit fi# output folderif [ -d "${3}" ]; thenoutput="${3}"elseecho "[ERROR] output folder is not exsit."exitfi# search filefind ${folder} -name "${file_type}" | while read filename ; do# file typefile_type=`echo ${filename##*.}`# file sizefile_size=`stat "${filename}" | sed -n "2,1p" | awk "{print $2}" `# file modify timefile_modify=`stat "${filename}" | sed -n "6,1p" | awk "{print $2, $3}" | sed -e "s/[-: ]//g" `# output folder path="${output}/${file_modify:0:6}"if [ ! -d "${path}" ]; thenmkdir -p ${path}echo "folder(${path}) is created . "fi# new file full name new_file_name=`echo ${path}/${file_modify}_[${file_size}].${file_type}`if [ ! -f "${new_file_name}" ]; thenmv "${filename}" "${new_file_name}"elseecho "file(${new_file_name}) is exsit, can not be removed. "fidoneecho "finished !"exit