Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35420
  • 博文数量: 7
  • 博客积分: 160
  • 博客等级: 入伍新兵
  • 技术积分: 95
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-09 22:36
文章分类
文章存档

2014年(2)

2012年(4)

2011年(1)

我的朋友

分类: LINUX

2012-09-18 16:55:00

 今天同事提出如何删除一个文件中包含另一个文件中的行的内容。想了一下觉得使用sed是个很好的方法。故记录如下。

假设A文件的一列中,包含B文件一列中的信息,要把这些删掉。脚本如下:

#!/bin/bash

var0=0

var1=`wc -l B | awk '{print $1}'`

while [ "$var0" -lt $var1 ]
do
var0=$[var0+1]
LINE=`sed -n $var0'p' B`
FILE=`echo $LINE | awk '{print $1}'`
sed "/$FILE/d" A> /tmp/temp_file
cat /tmp/temp_file > A

done

阅读(1219) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~