需要帮助在find命令中省略文件夹

时间:2014-06-24 20:21:49

标签: bash

我在编写

的脚本中有这一行
find / \( -perm -4000 -o -perm -2000 \) -type f -exec file {} \; | grep -v ELF | cut -d":" -f1 >> $OUTPUT

它完成了工作,但我总是得到这些我想省略的消息

find: `/proc/29527/task/29527/fd/5': No such file or directory
find: `/proc/29527/task/29527/fdinfo/5': No such file or directory
find: `/proc/29527/fd/5': No such file or directory
find: `/proc/29527/fdinfo/5': No such file or directory

如何省略/proc目录?

3 个答案:

答案 0 :(得分:1)

我相信这应该有效:

find / -path /proc -prune -o \( -perm -4000 -o -perm -2000 \) -type f ...
       ^^^^^^^^^^^^^^^^^^^^^ Add this to your command line

答案 1 :(得分:1)

如果您将STDERR重定向到/dev/null,该怎么办?这样,您就不会在TTY(STDOUT)中看到不需要的错误/警告,例如

{ find / \( -perm -4000 -o -perm -2000 \) -type f -exec file {} \; | grep -v ELF | cut -d":" -f1 >> $OUTPUT; } 2>/dev/null

答案 2 :(得分:0)

以下修剪proc目录:

find / -name /proc -prune -o \
\( -perm -4000 -o -perm -2000 \) -type f \
-exec file {} \; | grep -v ELF | cut -d":" -f1 >> $OUTPUT