- 论坛徽章:
- 23
|
回复 9# expert1
是这个意思吧:- ly5066113@ubuntu:~$ cat urfile
- x abcd
- y 0,1
- z a,b,c
- ly5066113@ubuntu:~$ awk -f test.awk urfile
- x abcd y 0 z a
- x abcd y 1 z a
- x abcd y 0 z b
- x abcd y 1 z b
- x abcd y 0 z c
- x abcd y 1 z c
- ly5066113@ubuntu:~$ cat test.awk
- #! /usr/bin/awk -f
- BEGIN {
- FS = "[ ,]+"
- }
- NR == 1 {
- for(i = 2; i <= NF; i ++)
- a[i - 1] = $1 " " $i
- l = NF - 1
- }
- NR > 1 {
- for(i in a)
- b[i] = a[i]
- for(i = 2; i <= NF; i ++)
- for(j = 1; j <= l; j ++)
- a[++ k] = b[j] " " $1 " " $i
- l = k
- k = 0
- }
- END {
- for(i = 1; i <= l; i ++)
- print a[i]
- }
复制代码 |
|