情况,大量修改文本文件或者配置文件。因为技术不够成熟,所以暂时使用小脚本来进行文本的多处替换。
思路一、使用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() #关闭文件
阅读(2613) | 评论(0) | 转发(0) |