一个sed问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
hh_L
帖子: 15
注册时间: 2015-08-12 9:12
系统: ubuntu

一个sed问题

#1

帖子 hh_L » 2015-08-25 14:26

在一个shell脚本中,比如像
#!/bin/bash
# This is a shell script
#
#
echo “Hello”
如何用sed将中间三行删掉
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 一个sed问题

#2

帖子 vickycq » 2015-08-25 17:13

例如test.sh

代码: 全选

sed -i '2,4d' test.sh

代码: 全选

sed '2,4d' test.sh | tee test.sh
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
hh_L
帖子: 15
注册时间: 2015-08-12 9:12
系统: ubuntu

Re: 一个sed问题

#3

帖子 hh_L » 2015-08-25 18:35

vickycq,
有没有一种比较通用的写法,只要是个类似的脚本文件就能处理的???????
就是把文件中的注释行、空行都去掉。
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 一个sed问题

#4

帖子 vickycq » 2015-08-25 19:54

hh_L 写了:vickycq,
有没有一种比较通用的写法,只要是个类似的脚本文件就能处理的???????
就是把文件中的注释行、空行都去掉。
学习正则表达式匹配。

去掉所有以#开头的行

代码: 全选

sed -i '/^#/d' test.sh
去掉所有空行

代码: 全选

sed -i '/^$/d' test.sh
这一篇简明扼要:http://www.theunixschool.com/2012/06/se ... ne-or.html
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
回复