Как сделать рекурсивно grep, когда в пути есть FIFO

Я хочу сделать рекурсивно grep. Обычно я делаю следующее:

grep pattern -r /some/path

Обычно это работает. Однако, когда в пути находится файл FIFO, grep застрянет там.

johnson@ISD32_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, когда он указан?

Спасибо за помощь.

5
задан tianyapiaozi 16 May 2012 в 09:35
поделиться