我有一台 Linux 机器,其中有一个数据文件夹和一个脚本,该脚本会生成一个报告 xlsx 电子表格文件,显示正在运行的文件夹中不断变化的内容。我使用 xlsx2tsv 脚本将其转换为 tsv 文本,耗时不到一秒。该脚本大约需要 1 分钟来生成电子表格文件,我希望有一个终端屏幕,在 GNU less 缓冲区中显示表格的结果,我可以在其中移动光标,并使用以下命令搜索内容/search
等最新版本的内容。
此刻我有一个狂欢while true; do
循环首先计算脚本的内容,然后将其转换为 tsv 并将其传输到GNU less
。然后在另一个终端屏幕中我有一个while true; do
循环杀死less
每 2 分钟发出一次命令。但这让我有 1 分钟的不活动时间,我正在等待电子表格更新,然后才能使用以下命令导航内容less
.
我想优化这个设置,以便在后台生成一个新的电子表格,而不是在我终止 less 命令时,而是在 1 分钟前开始,以便更新less
命令总是给我一个可以导航的工作副本。理想情况下,无需为其创建第三个终端窗口。
有任何想法吗?也许 GNU 并行?
当前设置:
# screen in the data folder with less command
while true; do $HOME/script -dir $PWD && xlsx2tsv $(ls $PWD/*.xlsx) 1 | column -t | less -S -N; sleep 0.5; done
# screen 2 with the less killing
while true; do pkill less; sleep 120; done
我的 less 手册页介绍了有关“R”命令的内容
R 重新绘制屏幕,丢弃任何缓冲的输入。如果文件在更改时很有用
正在查看。
So, just hit R to refresh.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)