当行不断重复时终止 linux 程序
terminate linux program when lines repeat endlessly
我正在处理的财务处理程序 cruncher.js 存在难以解决的烦人错误。一个常见问题(其触发输入难以指向并因此避免)导致了这种失败情况:
Downloading account information...
Downloading today orders...
Downloading historical quotes...
Downloading historical quotes...
Downloading historical quotes...
Downloading historical quotes...
一旦 "Downloading historical quotes..." 行第三次重复,我知道它进入了一个无限循环并且永远不会退出,也不会跳过它无法处理的任何输入情况优雅地.
我如何将这个 cruncher.js 程序通过管道传输到 |awk,即内联 awk 脚本会在其输入中检测到第 3 个(如果更容易的话,是第 2 个)连续重复行,并在那里终止?
或者也许使用其他常用 Linux/shell 工具而不是 awk?
这是一种方法
$ yes | awk -v key='y' '{if([=10=]==key)c++; else c=0} c==3{exit}1'
y
y
用您重复的值替换键值;和 yes
使用您的流生成器。
我正在处理的财务处理程序 cruncher.js 存在难以解决的烦人错误。一个常见问题(其触发输入难以指向并因此避免)导致了这种失败情况:
Downloading account information...
Downloading today orders...
Downloading historical quotes...
Downloading historical quotes...
Downloading historical quotes...
Downloading historical quotes...
一旦 "Downloading historical quotes..." 行第三次重复,我知道它进入了一个无限循环并且永远不会退出,也不会跳过它无法处理的任何输入情况优雅地.
我如何将这个 cruncher.js 程序通过管道传输到 |awk,即内联 awk 脚本会在其输入中检测到第 3 个(如果更容易的话,是第 2 个)连续重复行,并在那里终止?
或者也许使用其他常用 Linux/shell 工具而不是 awk?
这是一种方法
$ yes | awk -v key='y' '{if([=10=]==key)c++; else c=0} c==3{exit}1'
y
y
用您重复的值替换键值;和 yes
使用您的流生成器。