所有目录重命名

所有目录重命名

需求

将下列目录名批量重命名..

如果目录名包含beta,则将beta改为testing.

例如:beta,beta1,beta2,等改成testing,testing1,testing2

如果目录名不包含beta.则就直接在现有目录名后面追加testing

脚本内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
#description:修改app目录下的业务名称.如果目录名没有beta就直接重命名成testing.如果有beta就把beta改成testing

dir=/data/apps
files=$(ls $dir)

for file in $files;do
if `echo $file | grep "beta" > /dev/null`;then #如果当前目录名包含beta字段,或者beta1,beta2......
new_file=$(echo $file | sed -re 's#(.*)beta(\s*)+#\1testing\2#') #将beta,beta1,beta2更改为testing,testing1,testing2
mv $dir/$file $dir/$new_file #重命名目录名为testing

else #如果目录名不包含beta,则直接在后面追加testing
mv $dir/$file $dir/$file-testing
fi
done

本文标题:所有目录重命名

文章作者:Jesse

发布时间:2018年06月12日 - 22:06

最后更新:2020年06月30日 - 20:06

原始链接:https://jesse.top/2018/06/12/Linux-Basic/shell&shell脚本/所有目录重命名/

许可协议: 禁止商业用途 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!