使用 bash 我试图 grep 来自 /dev/urandom 的字符串,如下所示:
tr -cd '[:lower:]' < /dev/urandom | grep -o 'test'
还尝试过:
tr -cd '[:lower:]' < /dev/urandom | grep -o 'test' | head -1
我猜想grep
一直等待tr
完成,因为即使将输出重定向到文件,就像> /tmp/testfile
什么也没有写入文件一样。
但是,如果解析到head
before grep
,它就可以工作
tr -cd '[:lower:]' < /dev/urandom | head -c 10000 | grep -o 'test'
有没有办法让它在标准输入仍在运行时工作?如果没有,为什么这种行为是grep
在输入尚未完成时不给出输出?