Linux下,文本文件替换内容整理

2660阅读 0评论2014-07-17 1021eee
分类:Python/Ruby

情况,大量修改文本文件或者配置文件。因为技术不够成熟,所以暂时使用小脚本来进行文本的多处替换。
思路一、使用sed命令
举一个例子:
linux-nagios:/opt/scripts # cat test
111111
111
323542341
2342341
1
23424
通过这条命令,将修改好的内容重定向到那个文件中去:/scripts # sed -e 's/1/LP/g' test > test1
之后的结果如下:
linux-nagios:/opt/scripts # cat test1
LPLPLPLPLPLP
LPLPLP
32354234LP
234234LP
LP
23424
2
342LP
23
4
234LPLPLP

情况二、当需要替换特殊字符还有空格回车的时候怎么办呢?
这个时候我选择使用Python的脚本来写这个。
整体的思路如下:
1、打开文件。读出所有行
2、查找到需要修改的地方进行全局的替换
3、将文件保存为新的文件
下面来写一个试试看。这是一种比较笨的方法。
import os                                    #导入os模块
os.chdir('D:/Python33/')                #切换操作目录
if not os.path.exists('test.cfg'):        #查看该文件是否存在
      exit(-1)                                    #不存在就返回错误
infile = open("D:/Python33/test.cfg",'r')        #选择读取的文件
outfile = open("D:/Python33/test1.cfg",'w')    #选择要写入的文件

for s in infile:                                #创建循环,是历遍读取的文本文件的内容出来
      outfile.write(s.replace('}','contact_groups          admins,139duanxin\n      }'))    #写进去每行到写入的文件,并且选择全局替换的内容
                                                                                                                        #循环的就是读取一行,我特么写一行,有替换的我就替换
infile.close()        #关闭文件
outfile.close()        #关闭文件


上一篇:转载自:http://www.stenote.com/2014/07/linux登录提示修改/ 这个URL
下一篇:Message accepted for delivery linux下,nagios无法发送邮件