Проблема с запуском - Debian 8.2 установлен в VirtualBox

awk будет читать, строка за строкой (можно рассматривать как блок, но это строка, заканчивающаяся переводом строки или CR)

давайте разберем этот код

awk '/^>/ {printf("\n%s\n",$0);next; } { printf("%s",$0);}  END {printf("\n");}'

Как вы можете видеть в man awk, программы awk имеют вид /pattern/ { actions}, таким образом программа превращается в :

  • /^>/ {printf("\n%s\n",$0);next; }

    • для строк, начинающихся с > ( /^>/ )
    • печатаем строку, окруженную \n ( printf("\n%s\n",$0) )
    • получить следующую строку ( next ), не переходить к следующей команде awk.
  • { printf("%s",$0);}

    • для всех шаблонов ( предложение pattern пусто )
    • вывести строку без символа новой строки ( printf("%s",$0); )
  • END {printf("\n");}

    • после конца файла ( или файлов) ( END )
    • печать новой строки ( printf "\n" ; )
1
10.09.2015, 19:37
0 ответов

Теги

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