#!/usr/bin/env bash if ! [[ -n "$1" || -n "$2" ]]; then printf "%s\n" "awink " exit 2 fi gawk '{ if (NF == 2 && $1 == "%include") { while ((getline line < $2) > 0) { print line; } close($2); } else { print; } }' "$1" > "$2"