Я пытаюсь выяснить, как использовать awk для принуждения изменения последовательной нумерации в 3-м столбце моего файла на основе изменения значения в моем 6-м столбце, но сохранения интервала?? Кто-то может помочь?
Вот пример:
0.00 47258 0 33103.5 33051.0 -9.20
0.00 47258 0 33103.5 33051.0 -9.20
0.00 47258 0 34329.3 34185.7 -55.44
0.00 47258 0 34329.3 34185.7 -55.44
0.00 47258 0 32677.6 32493.5 30.22
0.00 47258 0 32677.6 32493.5 30.22
И я хочу достигнуть этого:
0.00 47258 1 33103.5 33051.0 -9.20
0.00 47258 1 33103.5 33051.0 -9.20
0.00 47258 2 34329.3 34185.7 -55.44
0.00 47258 2 34329.3 34185.7 -55.44
0.00 47258 3 32677.6 32493.5 30.22
0.00 47258 3 32677.6 32493.5 30.22
Как насчет
awk '$6 != last {++n; last = $6} {$3 = n} 1'
Напр.
$ awk '$6 != last {++n; last = $6} {$3 = n} 1' file
0.00 47258 1 33103.5 33051.0 -9.20
0.00 47258 1 33103.5 33051.0 -9.20
0.00 47258 2 34329.3 34185.7 -55.44
0.00 47258 2 34329.3 34185.7 -55.44
0.00 47258 3 32677.6 32493.5 30.22
0.00 47258 3 32677.6 32493.5 30.22