所以我有一个很大的文件夹结构,并想将所有现有文件移动到1个新文件夹中,并且之前的文件夹名称为前缀。
示例:
Old/Test/a1/Tree.txt
Old/Test/a1/House.txt
Old/Test/a2/Dog.txt
Old/Test/a3/Cat.txt
--> New/Test_a1_Tree.txt
--> New/Test_a1_House.txt
--> New/Test_a2_Dog.txt
--> New/Test_a3_Cat.txt
很不幸,我不知道该如何自动化,但是很乐意提出建议。
预先谢谢大家:)
答案 0 :(得分:0)
find Old -type f -exec bash -c '
for p; do
q=${p#Old/}
echo mv "$p" "New/${q//\//_}"
done' _ {} +
如果您对输出感到满意,请删除echo
。