Помощь с функцией AWK

У меня проблемы с командой AWK. Когда я использовал этот код:

$ awk '{a[NR]=$1} END {for (i=0;i<NR;i++) {B=a[i+1];A=a[i];C=(BA);D=int(C/16)} {for (j=0;j<=D;j++) {if(C!=16) {print t=A;A=A+16;B} else {print A}} }}' 19.txt 

Мой входной файл «19.txt»:

 1510 1526 1542 1558 1614 1630 1646 1702 1802 

Я понял это:

 1702 1718 1734 1750 1766 1782 1798 

Мой код использует только разницу в последних строках, почему? Я хочу заполнить пробелы между последовательными линиями, где разное между строками равно 16, похожее на это:

 1510 1526 1542 1558 ---- 1574 1590 1606 ---- 1614 1630 1646 ---- 1662 1678 1694 ---- 1702 ---- 1718 1734 1750 1766 1782 1798 ---- 1802 

One Solution collect form web for “Помощь с функцией AWK”

Это дает результат, который вы ищете, и ему не нужно хранить весь файл в памяти.

 awk -v diff=16 ' NR>1 && $1-prev > diff { print "----" while ($1-prev > diff) { prev += diff print prev } print "----" } { print prev = $1 } ' 19.txt 

Спросите меня, есть ли что-нибудь, что вы не понимаете.

  • Как преобразовать поля фиксированной длины в файл в пространство с разделителями
  • awk: emulate 'pr -mt file *'
  • Получить данные строки для несоответствующих значений столбца
  • awk regex соответствует неправильному?
  • awk: разделить столбец, распечатать левую часть разделителя и вставить в середине csv
  • Переименование нескольких файлов, удаление всего одного экземпляра шаблона
  • Разделить файл на основе шаблона с ведущими нулями
  • Выполните поиск регулярных выражений по ранее определенной линии с регулярным выражением (однострочный)
  • Как я могу объединить информацию из трех файлов для создания четвертой?
  • Grep огромное количество шаблонов из огромного файла
  • Почему awk говорит «синтаксическая ошибка» для запятой, которую я установил между двумя шаблонами?
  • Interesting Posts

    Как изменить длину строки по умолчанию для od и hexdump

    Периодически получать использование ЦП для одного процесса

    с помощью git для управления версиями любого файла, отредактированного с помощью текстового редактора

    Можете ли вы создать только зашифрованный раздел, доступный только для чтения, который root не может записать (или перемонтировать)?

    NGINX читает файлы с разрешения Apache, не так ли?

    Что эквивалентно yum-versionlock для ubuntu?

    Невозможно выполнить запись в файловую систему, даже если есть свободное пространство, указанное df -h

    Как записать содержимое нескольких файлов в один файл в Unix?

    Когда ваш Linux-сервер выключен, ваша программа перестает работать или возобновляется?

    Сценарий Bash, создающий нежелательные файлы

    Сценарий оболочки, как читать ввод из файла

    Как ssh выбрать, какой ключ использовать?

    Интерпретация результатов команды Gnu `df` в Linux

    Сбросить пароль для обычного пользователя, который заблокирован

    Невозможно избавиться от BIND 9 chroot

    Linux и Unix - лучшая ОС в мире.