Что означает <<-EOC?

Примерно этого должно быть достаточно:

awk 'BEGIN{FS=OFS=","}{for(i=$1;i<=$2;i++) print i,$3}' input_file > output_file

Если у вашего файла есть заголовок, который вам не нужно печатать, тогда:

awk 'BEGIN{FS=OFS=","}NR>1{for(i=$1;i<=$2;i++) print i,$3}' input_file > output_file
1
23.04.2017, 19:28
2 ответа

Из man bash :

   If the redirection operator is <<-, then all leading tab characters are
   stripped  from  input  lines  and  the line containing delimiter.  This
   allows here-documents within shell scripts to be indented in a  natural
   fashion.
0
27.01.2020, 23:45

Это здесь-документ.

command <<-word
here-document contents
word

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

- в << - word приводит к тому, что табуляция удаляется с начала каждой строки в содержимом настоящего документа.

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
SERVICE_ANNOUNCEMENT

Если вышеупомянутый здесь-документ был написан с буквенными табуляторами в начале каждой строки, это привело бы к выводу

hello
world

, а не

    hello
    world

Табуляторы перед конечным разделителем также удаляются с помощью << - (но не без - ):

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
    SERVICE_ANNOUNCEMENT

(тот же вывод)

2
27.01.2020, 23:45

Теги

Похожие вопросы