删除文本中指定行

sh/bash/dash/ksh/zsh等Shell脚本
回复
syfnet
帖子: 213
注册时间: 2009-07-13 16:23

删除文本中指定行

#1

帖子 syfnet » 2009-09-07 16:37

我想删除一个文本文件中以#开始的整行。如何实现?
头像
sirniu
帖子: 235
注册时间: 2009-05-31 22:52
联系:

Re: 删除文本中指定行

#2

帖子 sirniu » 2009-09-07 16:42

vim当中
:g/^#/d
自從簽名被別人“借用”了之後我就不用了
syfnet
帖子: 213
注册时间: 2009-07-13 16:23

Re: 删除文本中指定行

#3

帖子 syfnet » 2009-09-07 16:49

多谢。这是删除以#开始的,还是含有#的?
头像
sirniu
帖子: 235
注册时间: 2009-05-31 22:52
联系:

Re: 删除文本中指定行

#4

帖子 sirniu » 2009-09-07 16:54

以#开头的
自從簽名被別人“借用”了之後我就不用了
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

Re: 删除文本中指定行

#5

帖子 millenniumdark » 2009-09-07 16:55

代码: 全选

^
表示開頭
头像
qiang_liu8183
论坛版主
帖子: 10699
注册时间: 2006-09-10 22:36
系统: Arch Debian
来自: 北京

Re: 删除文本中指定行

#6

帖子 qiang_liu8183 » 2009-09-07 16:56

删除所有以“#”开头的行

代码: 全选

%g/^#.*/d
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
syfnet
帖子: 213
注册时间: 2009-07-13 16:23

Re: 删除文本中指定行

#7

帖子 syfnet » 2009-09-07 17:05

qiang_liu8183 写了:删除所有以“#”开头的行

代码: 全选

%g/^#.*/d
这个是在命令行中输入?

如果不加^即为删除含有#的行?
头像
qiang_liu8183
论坛版主
帖子: 10699
注册时间: 2006-09-10 22:36
系统: Arch Debian
来自: 北京

Re: 删除文本中指定行

#8

帖子 qiang_liu8183 » 2009-09-07 17:11

syfnet 写了:
qiang_liu8183 写了:删除所有以“#”开头的行

代码: 全选

%g/^#.*/d
这个是在命令行中输入?

如果不加^即为删除含有#的行?
vim里按"Shift"+":"
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: 删除文本中指定行

#9

帖子 O_O_BOT » 2009-09-07 17:43

sed '/^#/d'
sed效率高些。
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
cocoready
帖子: 15
注册时间: 2009-08-13 12:11

Re: 删除文本中指定行

#10

帖子 cocoready » 2009-09-16 13:40

sed 比较方便
syfnet
帖子: 213
注册时间: 2009-07-13 16:23

Re: 删除文本中指定行

#11

帖子 syfnet » 2009-10-08 17:15

O_O_BOT 写了:sed '/^#/d'
sed效率高些。

代码: 全选

cat filename | sed '/^#/d'
是这样吗?
头像
darkfish
帖子: 90
注册时间: 2009-09-18 10:03
来自: 北京
联系:

Re: 删除文本中指定行

#12

帖子 darkfish » 2009-10-08 22:47

syfnet 写了:
O_O_BOT 写了:sed '/^#/d'
sed效率高些。

代码: 全选

cat filename | sed '/^#/d'
是这样吗?
sed -i 可以直接对原文操作。
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43

Re: 删除文本中指定行

#13

帖子 潇洒走一回 » 2009-10-08 23:07

sed 's/^#.*$//' filename
这个可以把注释行清空,变为空行.
回复