使用与stdin和stdout相同的文件导致空文件

如果要过滤文件,但是如果我使用相同的文件作为输入和输出,则输出文件为空。还有其他解决方案,而不是使用第二个文件吗?

php -r "echo preg_replace('~/\* DEV \*/(.*)/\* ENDDEV \*/~si', '', file_get_contents('php://stdin'));" < build/index.php > build/index.php