首页 > 解决方案 > 匹配后重命名所有目录

问题描述

我正在寻找一种方法来重命名所有这些目录:

1_20_10 
1_20_20 
1_20_30 
1_20_40 

到:

2_20_10 
2_20_20 
2_20_30 
2_20_40

我试过这个命令:

mv /1_20*/ /2_20*/ 

和重命名命令但不起作用。

标签: linuxshellrename

解决方案


您可以使用循环执行替换sed和迭代for

for i in 1_*; do 
   mv $i $(sed -En 's/^1_(.*)/2_\1/p' <<< $i); 
done

推荐阅读