我有多个表单目录
foo/bar/baz/alpha_1/beta/gamma/files/uniqueFile1
foo/bar/baz/alpha_2/beta/gamma/files/uniqueFile2
foo/bar/baz/alpha_3/beta/gamma/files/uniqueFile3
将这些目录合并到单个目录结构中的最快方法是什么
foo/bar/baz/alpha/beta/gamma/files/uniqueFile1...uniqueFile3
我可以写一个 python 脚本来做到这一点,但有没有更快的方法在 debian 机器上做到这一点? rsync 在这种情况下有帮助吗?
编辑:
很抱歉之前没有说清楚,示例中的深度是 ~10-12 并且我不知道一些目录名称,例如 alpha*,这些是在丢弃日志时随机生成的。我之前使用带通配符的 find 来列出这些文件,但现在在路径中添加了另一个级别,这导致我的查找查询从 0.004s 开始超过一分钟。所以我正在寻找更快的解决方案。
/known_fixed_path_5_levels/*/known_name*/*/fixed_path_2_levels/n_unique_files
变成了
/known_fixed_path_5_levels/*/known_name*/*/xx*/fixed_path_2_levels/unique_file_1
/known_fixed_path_5_levels/*/known_name*/*/xx*/fixed_path_2_levels/unique_file_2
.
.
/known_fixed_path_5_levels/*/known_name*/*/xx*/fixed_path_2_levels/unique_file_n
我基本上想像以前一样将所有这些独特的文件收集到一个地方。
最佳答案
使用查找
:
mkdir --parents foo/bar/baz/alpha/beta/gamma/files; #create target directory if nessessary
find foo/bar/baz/alpha_[1-3]/beta/gamma/files -type f -exec cp {} foo/bar/baz/alpha/beta/gamma/files \;
关于python - 合并目录树的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40620726/