我有多个目录的形式
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*,它们是在抛出日志时随机生成的。我以前使用带有通配符的查找来列出这些文件,但是现在在路径中添加了另一个级别,这导致我的查找查询从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
我基本上想收集所有这些独特的文件到一个地方,就像以前一样。你知道吗
使用
find
:由于复制或移动的问题不清楚,有两种方法,不复制!即使是第二部分也不能有效地复制数据!你知道吗
简单的bash命令
简单地说:
使用
-i
开关防止覆盖。你知道吗这将非常适用于一小堆文件。你知道吗
更健壮和自适应的find语法
或者使用查找:
使用
find
的优点是-name
、-mtime
等等mv
)。你知道吗cp -al
特定的UN*X概念在Un*x下,您可以为同一inode创建硬链接,它不是符号链接,而是文件夹树中的第二个条目。你知道吗
注:由于只需要引用一个inode,所以只能在同一个文件系统上工作。你知道吗
通过使用
您将在一个目录中复制所有inode引用,但每个inode引用只保留一个文件。你知道吗
使用bash的globstar功能:
相关问题 更多 >
编程相关推荐