我试图评估许多Unix用户帐户的磁盘使用情况。简单地说,我使用以下命令:
du -cBM --max-depth=1 | sort -n
但是我看到了很多错误信息,如下所示。如何从显示中排除所有此类“拒绝权限”消息?
du: `./james/.gnome2': Permission denied
我的请求可能非常类似于下面的列表,方法是将“find”替换为“du”。
How can I exclude all "permission denied" messages from "find"?
以下线程不工作。我想我在用bash。
Excluding hidden files from du command output with --exclude, grep -v or sed
发布于 2013-02-28 17:38:53
du -cBM --max-depth=1 2>/dev/null | sort -n
或者在bash中更好(只需过滤掉这个特定的错误,而不是像最后一个片段那样)
du -cBM --max-depth=1 2> >(grep -v 'Permission denied') | sort -n
发布于 2013-03-25 18:53:37
2> /dev/nul只隐藏错误消息。
命令du总是尝试在目录上运行。想象一下你有成千上万的脏东西?
如果你有任务,如果没有,跟着下一个.
发布于 2017-09-24 23:31:29
我会用一些简洁的东西,只排除那些你不想看到的线条。将stderr重定向到stdout,grep将所有“拒绝”的内容排除在外:
du -cBM --max-depth=1 2>&1 | grep -v 'denied' | sort -n
https://stackoverflow.com/questions/15141588
复制相似问题