Grep所有非读取文件

时间:2012-08-16 13:49:22

标签: unix grep

在我的Mac中,当我打开终端时,我该如何列出目录中的所有文件以及非读取的子目录?

只读部分是我不确定的部分。

感谢。

1 个答案:

答案 0 :(得分:2)

首先定义或决定“非读取”的含义。一个可执行文件不是只读的吗?那个没有权限的文件呢(它不是readonly,但也不可读)。

其次,使用find和适当的选项(-perm,可能-maxdepth)来生成文件列表,然后执行grep

 find . -type f ...other controls... -exec grep -e '36 inches' {} +

+是最新但有用的创新。如果它不可用,您可以使用GNU find并将其-print0管道传输到GNU xargs -0,但GNU find仍支持+表示法。如果您没有GNU find和GNU xargs,则可能必须使用普通-printxargs,但这不能正确处理带有古怪字符的文件名(名称中的空格,特别是换行符)。