我可以使用以下命令获取所有目录及其子目录的大小:
% /usr/bin/du -b */
4096 dest/src/_adoc
4096 dest/src/_txt
12288 dest/src
28117 dest/
4096 src/_adoc
4096 src/_txt
12818 src/
如何搜索所有目录和子目录以查找大小相似的目录?例如,在这种情况下,以下具有类似的大小。
4096 dest/src/_adoc
4096 dest/src/_txt
4096 src/_adoc
4096 src/_txt
答案1
使用 GNU 工具,您可以:
du -b | expand -t12 | sort | uniq -Dw12
假设目录名称不包含换行符,目录累积大小不超过 999999999999 字节。这也会扩展选项卡(包括文件名中出现的选项卡)。
要消除这些限制,您可以改为(仍然使用 GNU 工具):
du -b0 | sort -zn | awk -v RS='\0' -F'\t' '
{
if ($1 == prev) {
if (!n++) print prev_line
print
} else {
n = 0
prev = $1
prev_line = $0
}
}'