xhdr2set
上传用户:lengbin
上传日期:2010-03-31
资源大小:121k
文件大小:1k
开发平台:

C/C++

  1. #!/bin/sh
  2. gawk -v app=$3 -v out=$4 '
  3. BEGIN {
  4.   FS = " ";
  5.   if ((app != "") && (out != "")) {
  6.     getline dflt < app;
  7.     while ((getline < app) > 0)
  8.       base[$1] = $2;
  9.   }
  10.   FS = ",";
  11. }
  12. (NR == 1) {
  13.   for (i = 0; ++i <= NF; )
  14.     items[i] = $i;
  15. }
  16. (NR > 1) {
  17.   for (i = k = 0; ++i <= NF; ) {
  18.     if (k++ > 0) printf(" ");
  19.     item = (items[i] "=" $i);
  20.     printf("%s", item);
  21.     if (items[i] in base) apps[item] = base[items[i]];
  22.     else                  apps[item] = dflt;
  23.   }
  24.   printf("n");
  25. }
  26. END {
  27.   if (out != "") {
  28.     print dflt > out;
  29.     for (t in apps)
  30.       if (apps[t] != dflt)
  31.         printf("%s %sn", t, apps[t]) > out;
  32.   }
  33. }' $1 > $2