Vladimir Dronnikov | dce3a7a | 2009-10-16 16:25:19 +1100 | [diff] [blame] | 1 | |
| 2 | # This filter requires one command line option of form -vN=n |
| 3 | # where n must be a decimal number. |
| 4 | # |
| 5 | # Repeat each input line containing $$ n times, replacing $$ with 0...n-1. |
| 6 | # Replace each $# with n, and each $* with a single $. |
| 7 | |
| 8 | BEGIN { |
| 9 | n = N + 0 |
| 10 | } |
| 11 | { |
| 12 | if (/\$\$/) { rep = n } else { rep = 1 } |
| 13 | for (i = 0; i < rep; ++i) { |
| 14 | tmp = $0 |
| 15 | gsub(/\$\$/, i, tmp) |
Greg Kroah-Hartman | 702600e | 2019-12-06 16:26:00 +0100 | [diff] [blame] | 16 | gsub(/\$#/, n, tmp) |
Vladimir Dronnikov | dce3a7a | 2009-10-16 16:25:19 +1100 | [diff] [blame] | 17 | gsub(/\$\*/, "$", tmp) |
| 18 | print tmp |
| 19 | } |
| 20 | } |