1*4882a593Smuzhiyun 2*4882a593Smuzhiyun# This filter requires one command line option of form -vN=n 3*4882a593Smuzhiyun# where n must be a decimal number. 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun# Repeat each input line containing $$ n times, replacing $$ with 0...n-1. 6*4882a593Smuzhiyun# Replace each $# with n, and each $* with a single $. 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunBEGIN { 9*4882a593Smuzhiyun n = N + 0 10*4882a593Smuzhiyun} 11*4882a593Smuzhiyun{ 12*4882a593Smuzhiyun if (/\$\$/) { rep = n } else { rep = 1 } 13*4882a593Smuzhiyun for (i = 0; i < rep; ++i) { 14*4882a593Smuzhiyun tmp = $0 15*4882a593Smuzhiyun gsub(/\$\$/, i, tmp) 16*4882a593Smuzhiyun gsub(/\$#/, n, tmp) 17*4882a593Smuzhiyun gsub(/\$\*/, "$", tmp) 18*4882a593Smuzhiyun print tmp 19*4882a593Smuzhiyun } 20*4882a593Smuzhiyun} 21