我的顶级目录包含一堆子目录:
af
ar
ca
cs
da
de
el
en
...
(还有更多)
每个目录都具有完全相同的结构。它们包含两个目录:
v2.3.0
v3.0.0
我需要将所有文件从*/v2.3.0/*.php
目录中移动,所以我们从:
af
v2.3.0
file1.php
file2.php
v3.0.0
对此:
af
file1.php
file2.php
答案1
最简单的解决方案是:
for dir in *; do mv "$dir"/v2.3.0/* "$dir"/; done
仅移动php
文件使用:
for dir in *; do mv "$dir"/v2.3.0/*php "$dir"/; done
如果顶层有文件(不仅仅是目录),为了避免出现错误消息:
for dir in *; do [ -d "$dir" ] && mv "$dir"/v2.3.0/* "$dir"/; done