相当于 cat *stdin* 的真实窗口

use*_*114 13 pipe cmd.exe

下面cmd是否有一个相当于 posix 命令的窗口cat

cat 本身没有文件名,没有开关。我只是想要一些将标准输入复制到标准输出直到它达到 EOF 的东西。

这不是一个难写的程序,但它是由 Windows 提供的吗?

答案不一定是一个词,绝对不是类型。

echo test | type
Run Code Online (Sandbox Code Playgroud)

只是给我一条错误信息

echo test | type con 
Run Code Online (Sandbox Code Playgroud)

挂起等待我输入一些东西

echo test | more
Run Code Online (Sandbox Code Playgroud)

很接近,但“更多”`在一屏后停止。

我想要这个的原因是为了运行一个程序,当 stdout 进入管道时,该程序的行为会有所不同。所以我可以看到输出。

dav*_*085 9

someprog | findstr x*或任何其他后跟星号的单个字符将所有行从管道标准输入复制到标准输出。具体来说,如果每行包含x或不包含,它就会复制每一行,您可以很容易地看到它总是正确的。Windowsfindstr大致相当于 Unix,grep但在语法上有一些令人讨厌的细微差别。

findstr用于文本,我不确定(也没有测试)它是否适用于很少或没有 [CR]LF 并且因此很长的明显行的二进制数据。cat没有 args 的Unix确实适用于二进制,但你所说的用例是改变管道输出的程序,根据我的经验,这只发生在文本输出上——通常不是管道,而是非 tty/非控制台/etc ,因此我可以someprog >temp; cat temp在 Unix 或& typeWindows上进行同样的测试,除非程序是交互式的,并且我需要在输入下一个输入之前查看一个输出。