我有一长串数字。有什么办法可以显示不存在的数字吗?在这种情况下,它将是2
并且4
1
3
5
6
该列表位于文本文件中。澄清一下,我只有一个列表,如下所示
1
2
3
4
5
6
...
800
801
802
...
1000
它不应该与另一个进行比较,只是计算缺少的数字,如果存在 804 和 806 但不存在 805,那么它应该列出 805。
答案1
awk 'NR == 1 {n = $1; next}
{while (++n < $1) print n}' list.txt
答案2
您可以使用seq
构建完整列表,然后使用grep
查看缺少的内容:
#!/bin/bash
list=$1
from=$(head -n1 $list)
to=$(tail -n1 $list)
grep -vwf "$list" <(seq "$from" "$to")
答案3
#!/usr/bin/env python
import sys
for y in open(sys.argv[1]):
y = int(y)
x += 1
while x < y:
print x
x += 1