#bash #sed #awk
#bash #sed #awk
Вопрос:
Используя awk, как определить разрыв в последовательности данных. У меня есть данные, подобные приведенным ниже.
Пример: Входные данные:
shotline shot
1001 1001
1001 1002
1001 1003
1001 1005
1001 1006
1001 1009
1002 1001
1002 1003
Данные должны быть:
Отсутствующие точки данных:
1001 1004
1001 1007
1001 1008
1002 1002
Комментарии:
1. Не могли бы вы описать, как определяется разрыв в этом случае? Что такое shotline и shot? Являются ли числа парными?
Ответ №1:
Вот рабочее решение:
cat data | awk '{shotline = $1; if(shotline != last_shotline){last_shotline = shotline; last_shot = 1000;} shot = $2; while(shot != last_shot 1){ last_shot = last_shot 1; print shotline " " last_shot }; last_shot = shot;}'