我曾经有一个 du 的可爱别名,我称之为 dusort,它会为顶级子目录+按大小排序的文件打印出人类可读的大小列表。它就像一个在终端中运行的 mac 迷你文件灯。
但是现在我的别名在我将它复制到运行 Mac OS 10.6 的新 mac 后被破坏了。显然,我使用的那种要么来自 fink(我试图避免在我的新 Mac 上重新安装),要么 10.6 的功能比 10.4 的功能少(可能性要小得多。)
这是一个有点笨拙的旧别名,因为它必须运行 du 两次才能获得机器可读和人类可读的文件大小(我实际上已将其保存为 ~/bin 中的脚本,带有 #!/bin/bash但这不重要): sort -n +1 <(paste <(du -hd1|cut -f1) <(du -d1))|cut -f1,3
任何想法: A. 让它再次工作?B. 使用 bash 魔法使这个命令更优雅?
我知道我可以通过将 du 输出复制到临时文件或 fifo 或一些类似的废话来解决这个问题,但这越来越荒谬了。我决定来这里寻求帮助,以摆脱我笨拙的 bash 习惯。请指教。:)
编辑:
现在我想起来了,这行得通:
sort <(paste <(du -d1|cut -f1) <(du -hd1))|cut -f2,3
仍然,似乎是一个巨大的kludge,尤其是调用 du 两次,这可能会在大型文件树上产生 5 分钟和 10 分钟之间的差异......关于清理它的任何建议?