Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3031840
  • 博文数量: 272
  • 博客积分: 5544
  • 博客等级: 大校
  • 技术积分: 5496
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 00:48
个人简介

  每个人都要有一个骨灰级的爱好,不为金钱,而纯粹是为了在这个领域享受追寻真理的快乐。

文章分类

全部博文(272)

文章存档

2015年(2)

2014年(5)

2013年(25)

2012年(58)

2011年(182)

分类: LINUX

2011-05-14 15:54:31

文本:

1 Mary;xxxx;137777777
2 Harry;xxxx;138888888
3 Barry;xxxx;139999999

 

根据关键字,比如 Harry ,删除该行:

1 Mary;xxxx;137777777
2 Barry;xxxx;139999999

 

  1. while read line;do if [[ ! ($line =~ Harry ) ]];then echo "$line";fi;done
  2. grep -wv Harry file
  3. sed '/Harry/d' file
  4. awk '!/Harry/' file

 

各位看官,如果你们边看鄙人文章边做试验的话会发现,此上4条命令并未真正达到目的,只是过滤了该行文本,行首的行号并未缩进,我后来研究了一下,写了一条新命令,达到效果:

 

  1. awk '/Harry/{i++;next}{print NR-i,$2}' file

 

 

 

 

 

 

 

 

 

阅读(5317) | 评论(0) | 转发(0) |
0

上一篇:ls命令详细介绍

下一篇:sed之n与N运用实例

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