Blame view

lib/raid6/unroll.awk 424 Bytes
dce3a7a42   Vladimir Dronnikov   md: drivers/md/un...
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
  	}
  }