Как удалить файлы core. * Во время работы программы?

Вот решение awk при условии, что вам не нужны пустые строки в выводе примера.

awk '/START_BLOCK_1/ { block1=$2; next; } \
/END_BLOCK_1/ {block1=""; next; } \
/START_BLOCK_2/ { block2=$2; next; } \
/./ { if(block1) {print block2 " " block1} if(block2) { print block2 " " $2}
}' inp

он работает, сопоставляя каждую строку для начального или конечного блока. Если мы находимся «в» BLOCK_1, у нас будет имя, установленное в переменной block1 . Если мы «находимся» в BLOCK_2, это имя будет установлено в переменной block2 . В любой строке, которая не определяет блок и не является пустой (соответствует как минимум 1 символу), мы затем распечатываем материал на основе блоков, в которых мы находимся.

2
14.11.2015, 01:24
0 ответов

Теги

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