Case scenario:
$ cat Status.txt
1,connected
2,connected
3,connected
4,connected
5,connected
6,connected
7,disconnected
8,disconnected
9,disconnected
10,disconnected
11,disconnected
12,disconnected
13,disconnected
14,connected
15,connected
16,connected
17,disconnected
18,connected
19,connected
20,connected
21,disconnected
22,disconnected
23,disconnected
24,disconnected
25,disconnected
26,disconnected
27,disconnected
28,disconnected
29,disconnected
30,connected
可以看出,有“空洞”,将其理解为带有“断开”的行序列文件内的值。
事实上,我想要detect这些“洞”,但如果我可以设置一个minimum n
缺失的数字在序列中。
即:对于“n=5”,可检测到的孔将是7... 13
部分,因为序列上至少有 5 个连续的“断开连接”。然而,失踪的17
在这种情况下不应被视为可检测到。同样,在第 21 行,他得到了有效的断开连接。
就像是:
$ detector Status.txt -n 5 --pattern connected
7
21
...可以这样解释:
- Missing more than 5 "connected" starting at 7.
- Missing more than 5 "connected" starting at 21.
我需要编写这个脚本Linux外壳,所以我正在考虑编写一些循环,解析字符串等,但我觉得这是否可以通过使用来完成Linux shell 工具也许还有一些更简单的编程。有办法吗?
即使像这样的小程序csvtool
是一个有效的解决方案,一些更常见的 Linux 命令(例如grep
, cut
, awk
, sed
, wc
...等)在使用嵌入式设备时对我来说可能是值得的。