Shell 脚本cp后给文件加上当天日期,然后根据当天日期判断,再加上顺序数字01 02 03

例如:
abc_20180206_01.war

根据上面存在01后,重命名为02
abc_20180206_02.war

根据上面存在02后,重名名为03
abc_20180206_03.war

如此类推....

1、假设你有一堆文件要改名列表
2、例如
#!/bin/sh
cd ./sh
ymd=`date +%Y%m%d`
max=`find . -type f -name '*.sh'|wc|awk '{print $1}'`
x=(`seq -f %02g 1 ${max}`)
i=0
for file in `ls *.sh`;do
file1=$(echo $file|awk -F. '{print $1}')
newfile=$file1-$ymd-${x[$i]}.sh
echo $file $newfile;
/bin/mv $file $newfile;
((i++))
done
3、执行
199.sh 199-20180206-01.sh
204.sh 204-20180206-02.sh
27.sh 27-20180206-03.sh
28.sh 28-20180206-04.sh
76.sh 76-20180206-05.sh
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答