假设我有一个文件如下(一个排序的、唯一的整数列表,每行一个):
1
3
4
5
8
9
10
我想要以下输出(即列表中缺少的整数):
2
6
7
我如何在 bash 终端中完成此操作(使用 awk 或类似的解决方案,最好是单行程序)?
最佳答案
使用 awk 你可以这样做:
awk '{for(i=p+1; i<$1; i++) print i} {p=$1}' file
2
6
7
解释:
{p = $1}
:变量p
包含先前记录的值{for ...}
:我们从p+1
循环到当前行的值(不包括当前值)并打印每个基本上是缺失值的值
关于bash - 如何在 unix 终端的唯一顺序列表(每行一个)中找到丢失的整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491676/