21 lines
		
	
	
	
		
			424 B
			
		
	
	
	
		
			Awk
		
	
	
	
	
	
		
		
			
		
	
	
			21 lines
		
	
	
	
		
			424 B
			
		
	
	
	
		
			Awk
		
	
	
	
	
	
|   | 
 | ||
|  | # 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 | ||
|  | 	} | ||
|  | } |