一个删除特定行的程序

sh/bash/dash/ksh/zsh等Shell脚本
回复
悬崖勒马2011
帖子: 91
注册时间: 2013-01-23 14:27
系统: ubuntu 12.04

一个删除特定行的程序

#1

帖子 悬崖勒马2011 » 2014-06-02 18:55

大家好!
有个问题,一堆文件,如果每个文件某行第一列的值等于10 20 30 40 50 60 70 80 90中的一个,就删除这行。我想用case,但是那样就要写9个case,请问有什么比较方便的写法??
悬崖勒马2011
帖子: 91
注册时间: 2013-01-23 14:27
系统: ubuntu 12.04

Re: 一个删除特定行的程序

#2

帖子 悬崖勒马2011 » 2014-06-02 19:25

有没有类似于 while $i in 10 20 30 40 50 类似的写法?
ubunbates
帖子: 120
注册时间: 2014-04-30 15:44
系统: linux

Re: 一个删除特定行的程序

#3

帖子 ubunbates » 2014-06-02 20:38

代码: 全选

sed -i '/^[1-9]0 /d'  *
若有多行和单行情况, 且都要删除, 则

代码: 全选

sed -i '/^[1-9]0\( \|$\)/d'  *
悬崖勒马2011
帖子: 91
注册时间: 2013-01-23 14:27
系统: ubuntu 12.04

Re: 一个删除特定行的程序

#4

帖子 悬崖勒马2011 » 2014-06-03 13:38

谢谢
上次由 悬崖勒马2011 在 2014-06-03 14:18,总共编辑 1 次。
悬崖勒马2011
帖子: 91
注册时间: 2013-01-23 14:27
系统: ubuntu 12.04

Re: 一个删除特定行的程序

#5

帖子 悬崖勒马2011 » 2014-06-03 13:47

谢谢
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 一个删除特定行的程序

#6

帖子 eexpress » 2014-06-03 15:05

这样的sed,会误删除一堆的。
● 鸣学
ubunbates
帖子: 120
注册时间: 2014-04-30 15:44
系统: linux

Re: 一个删除特定行的程序

#7

帖子 ubunbates » 2014-06-03 16:10

eexpress 写了:这样的sed,会误删除一堆的。
弄个perl看看
sk1418
帖子: 229
注册时间: 2007-07-01 17:36
系统: (En):System
来自: (En):address
联系:

Re: 一个删除特定行的程序

#8

帖子 sk1418 » 2014-06-12 22:03

eexpress 写了:这样的sed,会误删除一堆的。
为什么? 请举个例子
---
regards,

Kent
回复