- 论坛徽章:
- 1
|
最近刚学的awk 太强大了 我写了一个条件简单的 请大家多指教
[ann@gutsy shell]$ ./ss.awk e
99 100 0 0 0
99 0 111 110 0
99 1 111 0 0
99 111 66 100 44
100 0 111 0 0
[ann@gutsy shell]$ cat !!
cat ./ss.awk e
#!/usr/bin/awk -f
BEGIN {
FS = "&"
max = 0
}
{
for(i = 2; i <= NF; i++) {
split($i, key, "=")
data[NR, key[1]] = key[2]
}
max = (key[1] > max) ? key[1] : max
}
END{
for(i = 1; i <= NR; i++)
{
for(j = 1; j <= max; j++)
printf "%5d", data[i, j]
printf "\n"
}
}
&1=99&2=100
&1=99&3=111&4=110
&1=99&2=1&3=111
&1=99&2=111&3=66&4=100&5=44
&1=100&3=111
[ 本帖最后由 vbs100 于 2009-3-9 22:02 编辑 ] |
|