求文本比较 方案脚本

求文本比较 方案脚本

我在 test目录下有n个文本文件 :sms-1-20050301000000.txt,sms-2-20050302000000.txt 等,还有一个文件为test.txt

其中每个文本文件的每一行都是一条记录,而test.txt中的记录为
12341324123
13243532131
54325341321
12332141325
我现在想从 sms-1-2005......这些文本文件中删除包含test.txt中相对应行记录的行,  请问这个shell 脚本怎么写,

---------------------------------------------
跪,急 求
用一个for循环和grep 的-v -l选项应该可以搞定吧
我得做个测试先
谢谢大哥,
如果人工手动搞,会死人啊
-----------------------------------
我是菜鸟,但我想飞向蓝天
做了一个测试,成功了。
在你自己做测试之前请做一下备份,以免毁了数据。
[code:1]
#!/usr/local/bin/bash
# file : createfile.sh

for ((i=1;i<=4;i++))
do
        touch sms-$i.txt
done
[/code:1]
[code:1]
#!/usr/local/bin/bash
# file : match.sh

for line in $(cat test.txt)
do
        for filename in $(ls sms*.txt)
        do
                grep -il $line $filename>/dev/null
                case $? in
                        0) grep -v $line $filename>tempfile&&rm $filename&&mv tempfile $filename ;;
                        1) echo 'no match' ;;
                esac
        done
done
[/code:1]
第一个脚本createfile.sh是我用来生成你的那些sms-**.txt文件的, 你不需要。
第二个才是你需要的。
请把原来的数据做一下备份,然后再测试
破坏了数据俺可不负责的哟
感谢
--------------------------------
菜鸟起飞
能用不?
告诉我你的测试结果呀
我还在测试,你等等,大哥
MichaelBibby大哥还在不,我现在发现一个问题,就是如果有个sms文件中的记录和test中的记录都模糊匹配,那么你的程序就没有生成一个tempfile文件,同时也没有把相应的SMS文件删除,
请教大哥该怎么修改文件,
---------------------------
继续测试中
[quote:ba7171d470="xiaoyue8106"]如果有个sms文件中的记录和test中的记录都模糊匹配,那么你的程序就没有生成一个tempfile文件,同时也没有把相应的SMS文件删除[/quote]模糊匹配?
把你的要求说得更具体些呢?