Я хочу сделать рекурсивно 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, когда он указан?
Спасибо за помощь.