我想做一个递归的grep。因此,通常我会执行以下操作:如何在路径中存在一个FIFO时递归地grep
grep pattern -r /some/path
通常这会起作用。但是,当路径中存在一个FIFO文件时,grep将停留在那里。
[email protected]_54_sles10:~/tmp$ ls -l 1
prw-r--r-- 1 neoli users 0 2012-05-16 17:24 1
然后我打电话strace命令来确定问题,我得到了这个。
...
stat64("./1", {st_mode=S_IFIFO|0644, st_size=0, ...}) = 0
open("./1", O_RDONLY|O_LARGEFILE) = 3
read(3, <unfinished ...>
所以我的问题是如何做一个递归grep的时候有一个FIFO的路径? grep有一个命令行选项,它会告诉grep在指定时忽略FIFO吗?
感谢您的善意帮助。
这对FreeBSD很有用,它包含旧的GNU grep,即使提供了'-D skip',也不会跳过FIFO。 – WGH