21 lines · plain
1 2# This filter requires one command line option of form -vN=n3# 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 8BEGIN {9 n = N + 010}11{12 if (/\$\$/) { rep = n } else { rep = 1 }13 for (i = 0; i < rep; ++i) {14 tmp = $015 gsub(/\$\$/, i, tmp)16 gsub(/\$#/, n, tmp)17 gsub(/\$\*/, "$", tmp)18 print tmp19 }20}21