options-future
新新人类
帖子
42
精华
0
无忧币 385
积分 126
阅读权限 20
|
发表于:2008-7-17 13:16
标题:个人在命令行上的简单实现
,被系统奖励 20 点无忧币
一、举例说明:
数据文件nu
[root@watchout2 ~]# vi nu
1 ab
2 ab
3 ab
4
5
6
7
8
9
...
...
...
300
...
...
...
350
找到一个这样的脚本
sed -n '/ab/s/$/******AGEV******/p' nu
是在匹配行末尾追加******AGEV******
即:
[root@watchout2 ~]# sed -n '/ab/s/$/******AGEV******/p' nu
1 ab******AGEV******
2 ab******AGEV******
3 ab******AGEV******
根据以上需求将更改如下:
[root@watchout2 ~]# sed -n '/ab/s/^/#/gp' nu
#1 ab
#2 ab
#3 ab
-n 取消默认的-p选项
s进行搜索
^是在行首用#来替换
g是进行全面的行内替换
-n和p是同时使用是对匹配行进行打印
[root@watchout2 ~]# sed -n '1,3s/^/#/p' nu
#1 ab
#2 ab
#3 ab
二、解决问题
[root@watchout2 ~]# sed -n '300,350s/^/#/p' nu > newfile
尔后打开newfile文件
复制文件中的内容,把原文件nu中的300-350行删除,将复制内容粘贴。
三、存在问题
个人感觉还是比较麻烦,请高手指点如何写成一个脚本,只要执行脚本就可达到原文件nu中的300行至350行,行首就增加注释“#”。
执行另一个脚本即可将300行至350行的注释去掉。
恭候您的赐教!
|
 论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币) |
|