收集文件

收集文件

我有一个大目录,里面包含许多子目录,每个子目录中有4个不同的文件(C1C2C3C4)。

我想要做的是收集相同的子目录,但C1里面只有一个文件()。所以重点是删除其他文件(C2C3C4)并保留相同的目录层次结构。

我想要一个简单的脚本来执行此操作,因为我有一个非常大的主目录,因此不可能手动执行此操作。一个简单案例的目录结构是:sampling/time´i´/C´j´。其中 i =0.0001:10 且 j=1:4

我在集群上有这个案例。

答案1

备份父文件夹,假设新文件夹名称是parentbackup

cp parent parentbackup

然后做

find parentbackup -type f -not -name C1 -exec rm {} \;

或使用正则表达式

find parentbackup -type f -regex 'C[^1]' -exec rm {} \;

如果允许您修改父目录,则执行以下操作

编辑

find /path/to/parent -type f -regex 'C[^1]' -exec rm {} \;

相关内容