GNU less 的 bash 循环每 2 分钟刷新一次

2024-03-20

我有一台 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(使用前将#替换为@)

GNU less 的 bash 循环每 2 分钟刷新一次 的相关文章

  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 在 bash 中使用单个命令为 shell 变量分配默认值

    我对 bash 3 00 shell 脚本中的变量进行了大量测试 如果未设置变量 则它会分配默认值 例如 if z VARIABLE then FOO default else FOO VARIABLE fi 我似乎记得有一些语法可以在一行
  • 如何在递归调用函数时阻止 bash 创建子 shell

    这是一个计算阶乘的简单 shell 函数 bin bash function factorial if 1 lt 2 then echo 1 else echo 1 factorial 1 1 fi factorial 1 但我发现这个脚本
  • GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

    我有以下程序 include
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • 将相对符号链接转换为绝对符号链接

    如何在 bash 中递归地将相对符号链接转换为绝对符号链接 ln sf readlink f link link
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • bash 行长度限制从何而来?

    在运行 Bash 4 4 19 标准安装 的 Solaris 11 上 输入行似乎有 256 个字符的限制 我想了解这个限制从何而来 我浏览了手册页 但没有找到任何解决此问题的内容 仅当未使用 readline 库时才会发生这种情况 在下面
  • 迭代 bash 脚本中的变量名称

    我需要在一堆文件上运行一个脚本 这些文件的路径被分配给train1 train2 train20 我想 为什么不使用 bash 脚本使其自动执行呢 所以我做了类似的事情 train1 path to first file train2 pa
  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • 使用 find 命令搜索直到第一个匹配项

    我只需要搜索可以在任何地方的特定目录有没有办法运行此命令直到第一个匹配 谢谢 我现在使用 find noleaf name experiment type d wc l 正如鲁道夫 米尔鲍尔 Rudolf M hlbauer 所提到的 qu
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两

随机推荐

  • realpath 函数的转换问题(C 编程)

    当我编译以下代码时 define POSIX C SOURCE 200112L define ISOC99 SOURCE define EXTENSIONS include
  • DalvikVM 上的 CLI 在 JNI 库上失败

    我需要在 Android 上运行 java 应用程序的命令行版本 是的 我知道这并不简单 我尝试使用 Dalvikvm 启动它 它实际上启动了 但后来我的代码失败了 因为它开始使用 android util log 并抛出此异常 java
  • 如何在 Apache 网站内托管 ASP.NET Core Web 应用程序?

    我有一个旧的php使用开发的应用程序Yii2框架托管在Centos路径上的服务器 var www html 该应用程序可在以下位置访问http somedomain com 我正在开发使用新的 API 项目ASP NET MVC Core需
  • 在 IntelliJ IDEA 中运行时出现 java.lang.ClassNotFoundException

    我创建一个使用数据库的程序 在 IntelliJ IDEA 中编译时出现以下错误 有人知道为什么会发生这种情况以及我该如何解决它吗 您收到的错误不是在编译时发生的 而是在您尝试运行应用程序时发生的 发生这种情况是因为 Java 无法找到Ta
  • Bash 脚本:无法正确处理 SIGTSTP

    我有一个 bash 脚本 用于安装和卸载设备 并在其间执行一些读取操作 由于设备速度非常慢 因此脚本大约需要 15 秒才能完成 安装至少需要 5 6 秒 由于安装此设备可能会导致其他问题 因此我不希望此脚本被中断 话虽如此 我可以正确处理
  • Vue3“在‘vue-router’中找不到导出‘createWebHistory,createRouter’

    我正在创建一个 Vue3 应用程序 添加路由器后 我的第一页正在加载 但它完全是空白的 我收到以下信息 错误 未捕获类型错误 对象 不是函数 在控制台中 src router index js 中出现警告 未找到导出 createRoute
  • “System.Runtime.Serialization.IExtensibleDataObject”在程序集中定义

    我创建了一个服务 在调用它并执行它时出现以下错误 有人告诉我这个错误是什么 类型 System Runtime Serialization IExtensibleDataObject 是 在未引用的程序集中定义 您必须添加一个 引用程序集
  • Puppeteer 无法获得完整的源代码

    我正在使用 Node js 创建一个简单的抓取应用程序傀儡师 https github com GoogleChrome puppeteer 我想要抓取的页面是 下面是我现在正在使用的代码 const url https www betre
  • 如何比较两个 std::istream 引用?

    我正在将编译器从 GCC 切换到 Clang LLVM 并遇到了我以前没有遇到过的编译错误 我有一堂课看起来像这样 include
  • minikube:无法连接本地部署的 nginx 服务

    我已经在我的 ubuntu 16 04 机器上安装了 minikube 并启动了一个集群 并显示一条消息 Kubernetes is available at https 192 168 99 100 443 接下来 我使用以下命令部署了
  • 如何使用 spacy 或 nltk 检索句子的主要意图?

    我有一个用例 我想使用 spacy 或 nltk 或任何 NLP 库提取句子的主要有意义部分 例句1 我怎样才能发出反对骚扰的声音 意图是 大声疾呼反对骚扰 例句2 唐老鸭是由哪个漫画家 哪个人 谁创作的 意图是 唐老鸭是由 创造的 例句3
  • 使用实体框架记录每个数据更改

    客户需要将每个数据更改与进行修改的实际用户一起记录到日志表中 该应用程序使用一个 SQL 用户来访问数据库 但我们需要记录 真实 用户 ID 我们可以在 t sql 中通过为每个表插入和更新编写触发器并使用 context info 来存储
  • 从 C++ 中的给定文件点读取目录

    我有两个程序将同时读取 写入文件到同一目录 但不会同时读取 写入文件 我已经完成了写作部分 但我正在努力获得阅读目录部分的一半体面且有效的实现 目录中的文件遵循以下命名方案 Image INDEX KEY DEL TIMESTAMP IND
  • Azure Function CosmosDBTrigger 不可扩展

    我有一个带有 CosmosDBTrigger 的 Azure 函数 用于使用 Application Insights 监控的消费游戏 正在监控的集合有500 000插入更改提要中 消费计划将实例数量扩大到15几分钟之内 但只有第一个实例能
  • 使用 axios 递归获取数据并链接结果

    我有一个模式的网址http www data com 1 其中末尾的 1 可以一直运行到一个未预定义的数字 它返回一个数组 我需要将我得到的所有数组连接成一个 我的策略是递归执行 get 请求 直到收到 404 错误 然后返回结果 var
  • Kubernetes 上的 Spring Boot 应用程序 如何使用外部 message.properties 文件来支持 i18n 和 l10n?

    我们有一个部署到 Kubernetes 的 Spring Boot 应用程序 我们正在向此应用程序添加 i18n 功能 并希望将 messages properties 文件放置在应用程序 jar war 之外 我已经能够在春季启动中做到这
  • PowerShell 代码整洁还是重新格式化? [复制]

    这个问题在这里已经有答案了 可能的重复 有 PowerShell 代码格式化程序 漂亮的打印机吗 https stackoverflow com questions 2987176 is there a powershell code fo
  • 如何在数据框中按名称删除列

    我有一个很大的数据集 我想阅读特定的列或删除所有其他列 data lt read dta file dta 我选择我不感兴趣的列 var out lt names data names data in c iden name x serv
  • 反向填充猫鼬

    我怎样才能反向填充 mongo 我有 2 个模式 User var user scheme new mongoose Schema name String age Number roles type mongoose Schema Type
  • GNU less 的 bash 循环每 2 分钟刷新一次

    我有一台 Linux 机器 其中有一个数据文件夹和一个脚本 该脚本会生成一个报告 xlsx 电子表格文件 显示正在运行的文件夹中不断变化的内容 我使用 xlsx2tsv 脚本将其转换为 tsv 文本 耗时不到一秒 该脚本大约需要 1 分钟来