1 个不稳定版本
0.1.0 | 2022年8月23日 |
---|
#23 in #plotting
19KB
361 行
实时绘图
lipl 是一个命令行工具,与 watch 类似,但具有针对输出数字的命令的扩展功能。
例如,使用 lipl 'ls'
将显示 ls
的输出,并且默认情况下每秒刷新一次结果。
现在如果命令输出一个数字,例如 ls -1 | wc -l
,则可以绘制结果。在这种情况下,图表将显示一个恒定的结果,直到另一个进程向当前文件夹添加或删除文件。当您将许多文件下载到当前文件夹并希望跟踪进度时,这很有用。如果您知道总共将下载 1000 个文件,则可以简单地添加选项 --target 1000
,并显示进度条以及估计的完成时间。
安装
homebrew (osx & linux)
brew install yxdunc/tools/lipl
aur (arch linux)
lipl
可以使用可用的 AUR 软件包 通过 AUR 助手 安装。例如,
yay -S lipl
参数
位置参数
包含 bash 命令的字符串。
如果 bash 命令返回一个数字,则将显示一个图表(例如:ls -1 | wc -l
)
如果 bash 命令返回其他任何内容,则命令显示输出并遵循与 watch 相同的行为
命名参数
-n/--refresh-rate
:以秒为单位的刷新率
-t/--target
:用于根据命令输出显示进度条的靶值。使用简单的线性回归。
-l/--history-len
:存储并绘制的给定命令的结果数量。
--show-regression-line
:当为true时,显示用于计算ETA的回归线。
--show-target-line
:当为true时,显示表示靶值的水平线。
示例用法
🗃在/tmp
中绘制文件数量
lipl -n 0.5 "ls -1 /tmp | wc -l"
♨️ 绘制给定PID的CPU使用率
lipl -n 0.1 "ps -p ${PID} -o %cpu | tail -1"
🗂绘制给定PID的内存使用率
lipl -n 0.1 "ps -p ${PID} -o %mem | tail -1"
🐍绘制运行的Python进程数量
lipl -n 0.5 "pgrep python | wc -l"
👩🚀绘制太空中的人数
lipl -n 1 'echo "curl -s http://api.open-notify.org/astros.json | jq .number" | sh'
🔥绘制最耗CPU的进程的负载
lipl -n 0.01 "ps -eo pcpu | sort -n | tail -1"
💻绘制所有进程CPU负载的总和
lipl -n 0.01 'ps -eo pcpu | grep -v CPU | sed "s/ //" | paste -sd "+" - | bc'
⛓绘制比特币价格
lipl -n 5 'curl -s https://api.coindesk.com/v1/bpi/currentprice.json | jq .bpi.EUR.rate_float'
🎢绘制多项式
lipl -n 1 'echo "x=$(($(date +%s) % 30 - 15)); echo $(($x * $x * $x + $x * $x + $x))" | sh'
lipl -n 1 'echo "x=$(($(date +%s) % 30 - 15)); echo $(($x * $x + $x))" | sh'
依赖关系
~7-16MB
~192K SLoC