筛选Linux搜索以删除被拒绝权限的搜索结果

筛选Linux搜索以删除被拒绝权限的搜索结果,linux,search,Linux,Search,我一直在Linux操作系统上搜索(find.-name“file”),希望过滤掉搜索结果中以“permission denied”结尾的许多行。由于被拒绝权限的文本不是搜索字符串本身的一部分,因此我无法将其从搜索输出中排除。 然而,删除它会使我更快地找到我想要的东西 有什么建议吗 谢谢, Evan您只需将stderr输出重定向到/dev/null即可: find . -name "file" 2>/dev/null 为了进一步阅读,check将其正常输出写入“标准输出”,而“权限被拒绝”

我一直在Linux操作系统上搜索(find.-name“file”),希望过滤掉搜索结果中以“permission denied”结尾的许多行。由于被拒绝权限的文本不是搜索字符串本身的一部分,因此我无法将其从搜索输出中排除。 然而,删除它会使我更快地找到我想要的东西

有什么建议吗

谢谢,
Evan

您只需将stderr输出重定向到/dev/null即可:

find . -name "file" 2>/dev/null

为了进一步阅读,check将其正常输出写入“标准输出”,而“权限被拒绝”等错误消息写入“标准错误”。这是两个不同的数据流。但它们通常都指向您的终端,因此它们的输出最终是混合的

shell允许您将这些数据流定向到不同的位置。在您的情况下,您可以通过将错误消息发送到
/dev/null
来丢弃
查找
错误消息:

find . -name "file" 2>/dev/null
这里的“2”表示将文件描述符2(标准错误)定向到/dev/null

您可以将其与管道和重定向结合使用:

find . -name "file" 2>/dev/null | grep ....
find . -name "file" 2>/dev/null > list-of-files.txt
第一个示例将
find
的正常输出传递给
grep
命令。第二个将
find
的输出写入文件