0

我有一个位于外部硬盘驱动器上的大型数据集。我只需要提取一组数据/子文件夹。驱动器上的每个文件夹都包含名为 X 和 Y 的子文件夹。我只对名为 X 和 Y 的子文件夹感兴趣。我最终想要的是一个仅包含子文件夹 X 和 Y 的硬盘驱动器(或单独的上游文件夹)。

到目前为止,我使用了两种方法。1) 手动将所有感兴趣的子文件夹重新定位到单独的文件夹。2)删除我不感兴趣的所有文件夹。

我遇到的问题是无法手动将所有子文件夹 X 和 Y 移动到一个文件中,因为它们具有相同的文件夹名称。使用 find 删除除感兴趣的文件夹之外的所有文件夹。-name -exec rm -rf {} \; 对于像我这样的外行来说,这似乎是一种非常危险的方法。

使用osx Terminal解决这个问题的最直接、无危险的方法是什么?

4

1 回答 1

0

我认为你过度简化了你的问题。但如果我理解正确,这应该对你有用:

mkdir $HOME/Desktop/interestingdata
tar cvCf /Volumes/datasetHD/datadir - */X1 */X2 | tar xCf $HOME/Desktop/interestingdata -

这将提取,例如/Volumes/datasetHD/datadir/(anydirname)/X1into$HOME/Desktop/interestingdata/(samedirname)/X1而不/Volumes/datasetHD/datadir/(anydirname)/Y1等做同样的事情。

(它还将包括您添加到该命令行的X2任何其他内容,格式为)Xy*/Xy

希望有帮助。如果没有,我们可能会通过一些更具体的信息做得更好。

于 2013-04-03T20:06:52.017 回答