51CTO技术论坛 » Linux & Advanced Application » 求助shell脚本,减少工作量。        上一帖     下一帖    查看完整版本

页: [1]

options-future2008-7-17 01:55
求助shell脚本,减少工作量。

由于工作的需要我必须每次打开一个文件在300行到350,都需要将其注释,尔后在有需求时,在将注释去掉。所以反复工作效率非常低,请各位帮忙如何写一个脚本。谢谢

[[i] 本帖最后由 options-future 于 2008-7-17 12:46 编辑 [/i]]

zjd_NO12008-7-17 02:24
关注

options-future2008-7-17 05:16
个人在命令行上的简单实现

一、举例说明:
数据文件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行删除,将复制内容粘贴。
[color=Red]三、存在问题[/color]
    个人感觉还是比较麻烦,请高手指点如何写成一个脚本,只要执行脚本就可达到原文件nu中的300行至350行,行首就增加注释“#”。
执行另一个脚本即可将300行至350行的注释去掉。
    [color=Red]恭候您的赐教![/color]



相关文章:
求助,openoffice打开word文档时内容全乱了
初学者用哪个版本的LINUX比较好
Red hat linux 安装(字符界面下安装)
Debian 4.0
在centos/redhat 上安装邮件系统(extmail) V0.1

查看完整版本: 求助shell脚本,减少工作量。


Powered by 51CTO.COM