존재해야 하지만 존재하지 않는 숫자 찾기

존재해야 하지만 존재하지 않는 숫자 찾기

나는 긴 숫자 목록을 가지고 있습니다. 존재하지 않는 숫자를 표시하는 방법이 있나요? 이 경우에는 다음 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

관련 정보