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