【求助】shell的一个小程序

【求助】shell的一个小程序

初学shell,遇到个问题,不知道怎么入手,请达人帮忙写一段,自己研究研究。
在a文件夹中,存在未知的几个已命名文件夹,假设现在有3个文件夹,名称分别为:cat,dog,duck 读取它们各自的名称。
在b文件夹中,对应着就有3个txt,分别为1.txt,2.txt,3.txt 里边的内容格式为一样。内容分别是
1.txt中内容
Path: cat
Number: 2
2.txt中内容
Path: dog
Number: 3
3.txt中内容
Path: duck
Number: 6
要求是首先从这个a文件目录下获得那3个文件夹的名称就是cat,dog,duck,然后对应的在b文件夹的3个txt中查找number后的数字。
上述可以划分为一个操作。
接着对应每个名称在指定的test.txt中查找,假定test.txt内容为:
cat: 3
dog: 1
可以发现少了一个duck: 6. 而且test.txt中的cat后应该为2,而不是3 .dog后应该为3,而不是1。那么我想做这么个操作,把test.txt内容修改为
cat: 2
dog: 3
duck: 6
上述的2个操作,可以用一个shell脚本写出来吧?      
太复杂了, 先整点儿简单的呗      
挺容易理解吧,那就分2步说。

在a文件夹中,存在未知的几个已命名文件夹,假设现在有3个文件夹,名称分别为:cat,dog,duck 读取它们各自的名称。
在b文件夹中,对应着就有3个txt,分别为1.txt,2.txt,3.txt 里边的内容格式为一样。内容分别是
1.txt中内容
Path: cat
Number: 2
2.txt中内容
Path: dog
Number: 3
3.txt中内容
Path: duck
Number: 6
要求是首先从这个a文件目录下获得那3个文件夹的名称就是cat,dog,duck,然后对应的在b文件夹的3个txt中查找number后的数字。      
接着对应每个名称在指定的test.txt中查找,假定test.txt内容为:
cat: 3
dog: 1
可以发现少了一个duck: 6. 而且test.txt中的cat后应该为2,而不是3 .dog后应该为3,而不是1。那么我想做这么个操作,把test.txt内容修改为
cat: 2
dog: 3
duck: 6      
这个怎么做啊??
有高人指点一下么?      
[B] 我很早就想学SHALL了,不过水平有限,能不能从简单开始[/B][I]      
对于输出目录名的,可以用下面的脚本来做到:
#!/bin/bash

for file in `ls `
do
if [ -d "$file" ];then
echo "$file"
fi
done
exit 0
当然这是在a目录下来运行的.

对于输出数字的,可以用下面的这个脚本来做,这个是在b目录下运行的:
#!/bin/bash
for file in 1.txt 2.txt 3.txt
do
line=`grep Number $file`
echo ${line#'Number:'}
done
exit 0