gpt4 book ai didi

bash - 如何在管道后使用反转 grep?

转载 作者:行者123 更新时间:2023-11-29 09:39:57 26 4
gpt4 key购买 nike

我想列出文件服务器中的目录磁盘使用情况。我也想忽略错误消息。这是我的命令:

du -sh * | grep -v "Permission denied" | sort -n

结果仍然包含权限被拒绝的行:

du: cannot access './myFile1/': Permission denied
du: cannot access './myFile2/': Permission denied
du: cannot access './myFile3/': Permission denied

我做错了什么?

最佳答案

这是因为“Permission denied”是通过标准错误发送的,而不是通过标准输出发送的。

如果您不想要此信息,只需将 stderr 重定向到/dev/null 使其静音:

du -sh * 2>/dev/null | sort -n

所有这些错误消息都会发生这种情况:

$ touch a
$ ls a asfasd
ls: cannot access asfasd: No such file or directory
a
$ ls a asfasd | grep cannot
ls: cannot access asfasd: No such file or directory
$ ls a asfasd 2>/dev/null
a

关于bash - 如何在管道后使用反转 grep?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33654501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com