#stdout #pipe #tee #stdio #redirect #stdin #tty

app pipetee

一个简单、快速、无依赖的 UNIX 工具,用于将 stdin 的内容打印到终端并同时转发到 stdout。用于调试非常有用。

2 个稳定版本

1.0.1 2022 年 12 月 31 日

#1836命令行工具

MIT 许可证

7KB
88

pipetee

crates.io

一个简单、快速、无依赖的 UNIX 工具,用于将 stdin 的内容打印到终端并同时转发到 stdout。

安装

  • 需要 rust 1.65+
  • 仅在 *nix 系统上工作。

通过 cargo

cargo install pipetee

通过仓库

git clone github.com/mark-i-m/pipetee
cd pipetee
cargo install --path .

示例用法

# output from pt will interleave with output from
# sed at the granularity of the buffer

$ yes 'yes' | pt | sed 's/yes/no/g'
no
no
no
no
no
..
no
yes
yes
yes
yes
yes
..
yes
no
no
no
no
no
..
no
^C

$ yes 'yes' | ./target/release/pt -b 3 | sed 's/yes/no/g'
yeno
s
yno
es
no
no
yesno
no
no

yes
yno
es
no
no
yesno
no
^C
# look at intermediate results if the final output takes a long time.

$ cat numbers.txt | ./computation-with-incremental-results.py | pt | sort -n | tee output.txt
# unsorted
0.0030632556724745847
0.0018044960059851569
0.001587923806107082
0.0029520906739906577
0.006344797296449427
0.1628663298523446
0.10106032701405257
0.028920997961789503
0.027188567279582024
0.02568497042514556
# after a while... sorted
0.001587923806107082
0.0018044960059851569
0.0029520906739906577
0.0030632556724745847
0.006344797296449427
0.02568497042514556
0.027188567279582024
0.028920997961789503
0.10106032701405257
0.1628663298523446

它是如何工作的?

它从 stdin 读取并写入 stdout 和 /dev/tty。您的 shell 将 stdout 重定向到下一个管道,但 /dev/tty(在大多数 shell 中 stdout 的默认值)将保持不变。

无运行时依赖