РЕДАКТИРОВАТЬ: Благодаря karafaka сэр, добавление решений, которые будут также захватывать цифры самой первой строки.
awk -v value=10 '$1-prev>1{while(++prev<$1){print prev,"0"}} {prev=$1;print} END{if(prev<value){while(prev<=value){print prev,"0";prev++}}}' Input_file
Допустим, следующий файл Input_file:
cat Input_file
3 10
4 15
7 1
9 50
19 990
Затем после выполнения кода выше мы получим следующий вывод.
1 0
2 0
3 10
4 15
5 0
6 0
7 1
8 0
9 50
10 0
11 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 990
Не могли бы вы попробовать следующее.
awk -v value=10 'prev && $1-prev>1{while(++prev<$1){print prev,"0"}} {prev=$1;print} END{if(prev<value){while(prev<=value){print prev,"0";prev++}}}' Input_file
Добавлениене однолинейная форма решения тоже сейчас.
awk -v value=10 '
prev && $1-prev>1{
while(++prev<$1){
print prev,"0"
}
}
{
prev=$1
print
}
END{
if(prev<value){
while(prev<=value){
print prev,"0"
prev++
}
}
}' Input_file