使用 osx 终端从外部硬盘驱动器中提取具有特定名称的子文件夹。
Posted
技术标签:
【中文标题】使用 osx 终端从外部硬盘驱动器中提取具有特定名称的子文件夹。【英文标题】:extracting subfolders with specific name from external hard drive using osx terminal. 【发布时间】:2013-03-25 00:17:37 【问题描述】:我有一个位于外部硬盘驱动器上的大型数据集。我只需要提取一组数据/子文件夹。驱动器上的每个文件夹都包含名为 X 和 Y 的子文件夹。我只对名为 X 和 Y 的子文件夹感兴趣。我最终想要的是一个仅包含子文件夹 X 和 Y 的硬盘驱动器(或单独的上游文件夹)。
到目前为止,我使用了两种方法。 1) 手动将所有感兴趣的子文件夹重新定位到单独的文件夹。 2) 删除我不感兴趣的所有文件夹。
我遇到的问题是无法手动将所有子文件夹 X 和 Y 移动到一个文件中,因为它们具有相同的文件夹名称。使用 find 删除除感兴趣的文件夹之外的所有文件夹。 -name -exec rm -rf \;对于像我这样的外行来说,这似乎是一种非常危险的方法。
使用 osx Terminal 解决这个问题的最直接、最安全的方法是什么?
【问题讨论】:
【参考方案1】:我认为您的问题过于简单化了。但如果我理解正确,这应该对你有用:
mkdir $HOME/Desktop/interestingdata
tar cvCf /Volumes/datasetHD/datadir - */X1 */X2 | tar xCf $HOME/Desktop/interestingdata -
这将提取,例如/Volumes/datasetHD/datadir/(anydirname)/X1
变成 $HOME/Desktop/interestingdata/(samedirname)/X1
而不对 /Volumes/datasetHD/datadir/(anydirname)/Y1
做同样的事情,等等。
(它还将包括X2
和您添加到该命令行的任何其他Xy
,格式为*/Xy
)
希望对您有所帮助。如果没有,我们可能会通过一些更具体的信息做得更好。
【讨论】:
以上是关于使用 osx 终端从外部硬盘驱动器中提取具有特定名称的子文件夹。的主要内容,如果未能解决你的问题,请参考以下文章