# This filter requires one command line option of form -vN=n | |
# where n must be a decimal number. | |
# | |
# Repeat each input line containing $$ n times, replacing $$ with 0...n-1. | |
# Replace each $# with n, and each $* with a single $. | |
BEGIN { | |
n = N + 0 | |
} | |
{ | |
if (/\$\$/) { rep = n } else { rep = 1 } | |
for (i = 0; i < rep; ++i) { | |
tmp = $0 | |
gsub(/\$\$/, i, tmp) | |
gsub(/\$\#/, n, tmp) | |
gsub(/\$\*/, "$", tmp) | |
print tmp | |
} | |
} |