如何将管道的中间结果打印到屏幕上?

发布于 2024-07-14 20:26:25 字数 209 浏览 12 评论 0原文

我正在尝试计算命令中的行数,并且我还想查看它们经过的行数。 我最初的想法是使用 tee 命令:

complicated_command | tee - | wc -l

但这只是使用 GNU tee 使行数加倍,或者将输出复制到名为 - 的文件中索拉里斯。

I'm trying to count the lines from a command and I'd also like to see the lines as they go by. My initial thought was to use the tee command:

complicated_command | tee - | wc -l

But that simply doubles the line count using GNU tee or copies output to a file named - on Solaris.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疯狂的代价 2024-07-21 20:26:25
complicated_command | tee /dev/tty | wc -l

但请记住,如果您将其放入脚本中并重定向输出,它不会执行您期望的操作。

complicated_command | tee /dev/tty | wc -l

But keep in mind that if you put it in a script and redirect the output, it won't do what you expect.

夜无邪 2024-07-21 20:26:25

解决方案是直接tee到控制台,而不是STDOUT

tty=`tty`
complicated_command | tee $tty | wc -l

The solution is to tee to the console directly as opposed to STDOUT:

tty=`tty`
complicated_command | tee $tty | wc -l
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文