| # 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 | |
| } | |
| } |