为什么递归grep显示';没有这样的文件或目录';错误?
我正在浏览本地svn目录。当我运行为什么递归grep显示';没有这样的文件或目录';错误?,grep,symlink,Grep,Symlink,我正在浏览本地svn目录。当我运行grep-r“pattern”时,会出现一些错误,例如 grep:./Data/test:没有这样的文件或目录 谁要求grep查找不存在的文件 默认情况下,grep不会忽略不存在或不可读的文件。为此,您需要提供-s或--no messages选项。引用自曼格瑞普的话: 什么是/Data/test?当grep遇到指向不存在文件的符号链接时,它会抛出这种类型的错误。@j.w.r似乎是一个断开的符号链接(根据file命令)。不存在的示例的副本将是一个断开的符号链接。
grep-r“pattern”时,
会出现一些错误,例如
grep:./Data/test:没有这样的文件或目录
谁要求grep查找不存在的文件
默认情况下,grep不会忽略不存在或不可读的文件。为此,您需要提供
-s
或--no messages
选项。引用自曼格瑞普的话:
什么是
/Data/test
?当grep遇到指向不存在文件的符号链接时,它会抛出这种类型的错误。@j.w.r似乎是一个断开的符号链接(根据file命令)。不存在的示例的副本将是一个断开的符号链接。不可读,顾名思义,是指当前用户没有读取权限的文件。
>grep --version
grep (GNU grep) 2.10
>lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
-s, --no-messages
Suppress error messages about nonexistent or unreadable files.
Portability note: unlike GNU grep, 7th Edition Unix grep did not
conform to POSIX, because it lacked -q and its -s option behaved
like GNU grep's -q option. USG-style grep also lacked -q but
its -s option behaved like GNU grep. Portable shell scripts
should avoid both -q and -s and should redirect standard and
error output to /dev/null instead. (-s is specified by POSIX.)