#!/bin/awk -f BEGIN { if (!length(organ)) { organ = ""; } if (!length(title)) { title=""; } if (!length(number)) { number=""; } out = ""; } !// { gsub(/::FRANKENSTEIN-title::/, title); gsub(/::FRANKENSTEIN-number::/, number); out = out $0 "\n"; } // { indent_end_idx = match($0, /[^[:space:]]/); indent = substr($0, 0, indent_end_idx - 1); wrap_indent = indent; split(organ, organ_lines, "\n"); for (i = 1; i <= length(organ_lines); ++i) { out = out indent organ_lines[i] "\n"; } } END { print out; }