【发布时间】:2013-10-15 16:57:50
【问题描述】:
使用 Mac OS X 10.8.5。认为在命令行上执行此操作最有意义,但欢迎提出其他建议。
我有一个包含各种备份的目录。这里大约有 45 个备份,每个备份都是定期运行的增量阶段。每个备份目录的目录结构是相同的,但每个备份目录的顶级/父目录具有不同的名称(时间戳)。示例:
2013_9_12_0500/Files/MoreFiles/SomethingElse/Folder/subfolder/morefolders
2013_9_12_0600/Files/MoreFiles/SomethingElse/Folder/subfolder/morefolders
2013_9_12_0700/Files/MoreFiles/SomethingElse/Folder/subfolder/morefolders
2013_9_12_0800/Files/MoreFiles/SomethingElse/Folder/subfolder/morefolders
2013_9_12_0900/Files/MoreFiles/SomethingElse/Folder/subfolder/morefolders
2013_9_12day/Files/MoreFiles/SomethingElse/Folder/subfolder/morefolders
2013_9_13day/Files/MoreFiles/SomethingElse/Folder/subfolder/morefolders
2013_9_14day/Files/MoreFiles/SomethingElse/Folder/subfolder/morefolders
2013_9_10week/Files/MoreFiles/SomethingElse/Folder/subfolder/morefolders
等等
“子文件夹”目录本身包含许多子目录。我想计算每个“子文件夹”目录中有多少子目录。示例:
2013_9_12_0500/Files/MoreFiles/SomethingElse/Folder/subfolder/ => 884 subdirs
2013_9_12_0600/Files/MoreFiles/SomethingElse/Folder/subfolder/ => 1423 subdirs
2013_9_12_0700/Files/MoreFiles/SomethingElse/Folder/subfolder/ => 540 subdirs
2013_9_12_0800/Files/MoreFiles/SomethingElse/Folder/subfolder/ => 378 subdirs
等等……
这个命令我运气不错:
find ./*/*/*/*/*/subfolder -type d | wc -l
问题在于它只显示了所有“子文件夹”的总数,而不是每个子文件夹中的计数。例如。 “13543”而不是上面列出的。
是的,我可以一次手动完成一个,但是学习新东西是不是很兴奋? :)
谢谢, C
【问题讨论】:
-
你基本上想要一个相当于 sql 的
group by的命令行,在子文件夹所在的父文件夹上分组。使用简单的find|wc命令是不可能的。您需要一些额外的代码(sed/awk/perl/whatever)来为您进行分组。 -
是的,对我想要实现的目标进行了很好的总结。这将涉及额外的步骤。我已经做了一些 Sed/Awk-ing,但不久前还不错。 :)
标签: macos file command-line count terminal