我在 Ubuntu 桌面 20.04 上使用 grep。
我想通过每回合使用 grep 从 gnuchess 游戏中获取玩家动作。我使用的第一个命令是这样的:
gnuchess -mq | grep -a "Black ([0-9][0-9]*) : [0-9][0-9]*. [a-z][0-9]" | grep "[a-z][0-9]"
对于第一个 grep,如果运动是“e3”和“e5”,则输出为:
黑色 (1) : 1. e5
我希望第二个 grep 给我e5但它没有。输出为空白。
然而,当我将 gnuchess 输出重定向到文件并使用相同的命令时,它可以工作并显示e5。为什么?
编辑:
问题在于输出缓冲。在下面添加了我的答案。