hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
# 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
   }
}