>>408
私は純粋に頭の体操と思ってチャレンジさせてもらってます。

で、>>403 の解釈だけど、
key_list の各行に対して ok または ng の判定をするということでよいですか?
だったら(一行全部マッチする可能性も有るので)一行読む毎に一度ゼロを入れて、
ゼロになる直前のマッチ数が1で有ったら、おkって解釈でいいよね?
で ok と ng の合計が、key_list と一致するという考え方でいいですか?
ならば以下で再挑戦です。

#!/bin/sh -
LIST="/home/share/list"
KEY_LIST="/home/share/key_list"
A="` echo | tr '\012' '\001' `"

COUNT=`awk -F/ '
{
 for(i = NF; i >= 1; --i) {
  for(j = i; j <= NF; ++j) {
   if(j == 1) {
    sizeOfArray = split($j,array," ")
    result = array[sizeOfArray]
   }
   else if(j == i) result = $j
   else result = result"/"$j
  }
   system("grep -c " result" ""'$LIST'")
   result = ""
 }
  system("grep -c ""'$A'"" ""'$LIST'") # 全部が一致する可能性も有るので無理やりゼロになるぐれっぷを実行
} ' $KEY_LIST`
続く。