xref: /linux/lib/raid6/unroll.awk (revision 149ed3d404c9bd00f0fadc35215a9e7a54c5cfd0)
1
2# This filter requires one command line option of form -vN=n
3# 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 + 0
10}
11{
12	if (/\$\$/) { rep = n } else { rep = 1 }
13	for (i = 0; i < rep; ++i) {
14		tmp = $0
15		gsub(/\$\$/, i, tmp)
16		gsub(/\$#/, n, tmp)
17		gsub(/\$\*/, "$", tmp)
18		print tmp
19	}
20}
21