Chinaunix首页 | 论坛 | 博客
  • 博客访问: 234956
  • 博文数量: 69
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 570
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-13 16:57
文章分类

全部博文(69)

文章存档

2011年(1)

2010年(5)

2009年(63)

我的朋友

分类:

2009-10-03 02:28:35

#!/bin/bash
#判断是否输入两个参数,文件1 和 文件2
if [ $# != 2 ]
     then
    echo "using:please enter two parameters"
    exit 1
fi
#判断两个文件是否是普通文件
if [ -f $1 -a -f $2 ]
then
    sed '1,$s/\s/\n/g' $1|#把文件1中的空格都替换为换行符,使得所有的单词都变为一列,循环送到
                          #while的word变量中

      while read word
      do
         grep -q "\<$word\>" $2   #读到的每一个词在文件2查找,加-q参数后不打印搜索结果
         if [ $? -eq 0  ]          #如果查找成功,进入if模块中
         then
              sed -i "1,\$s/\<$word\>//g" $1 #把文件1中的所有word单词删除
              sed -i "1,\$s/\<$word\>//g" $2 #把文件2中的所有word单词删除
         fi
      done
fi
sed -i -e "/^\s*$/d" -e "1,\$s/\s\{2,\}/ /g" -e "s/^\s//g" $1
sed -i -e "/^\s*$/d" -e "1,\$s/\s\{2,\}/ /g" -e "s/^\s//g" $2
#最后两句用来调整 删除所有相同单词后文件的格式
#"/^\s*$/d"用来删除多有空行 
#"1,\$s/\s\{2,\}/ /g"用来使多个空格变为一个空格
#"s/^\s//g" $1 用来删除行首空白符
# "-e" 参数用来在一条语句中执行多条sed命令



#end
阅读(1818) | 评论(0) | 转发(0) |
0

上一篇:Linux启动过程详解

下一篇:module_param()宏

给主人留下些什么吧!~~