【转载】perl修改原文件内容

很多时候,我们希望对原有文件的内容进行一定的修改,linux虽然有sed这个强大的文本编辑命令,但是他只能生成新文件或打印到screen上(或许sed也具有修改原文件的功能,小的才疏学浅,尚不知道,烦请大家告诉我),但在perl里却有这么一个命令$^I

例子:

1 #!/usr/bin/perl
2 use strict;
3 $^I="";
4 while(<>){
5 s/^rate.*/rate=0/;
6 s/^testMode.*/testMode=0/;
7 print;
8 }

$^I的值可以决定是要重写文件,还是备份文件,若要重写,只须将其值设为空就可,若要备份,则$^I=".bak", 他就会把改过的文件命名为filename.bak了

http://hi.baidu.com/uncletuuthu/blog/item/862adb0062248e04728da501.html

当你编写脚本或是安装程序的时候,就需要修改特定文件的数据,如果这时有自动修改文件的功能,那将会是非常实用的。例如,当你需要移动一个文件中的某个字符串或是命令,当你要改变许多文件的IP地址的时候,这个功能就可以拿来利用了。

手动改变这些文件会耗费很长的时间,特别当它是一件重复性的任务。但是,你可以使用Perl程序来完成。所有的Linux供应商都有这个程序。执行以下操作:
$ perl -pi -e ‘s|[old_string]|[new_string]|g‘ [file]

字符串可以是简单的命令或是常规的表达式。如果你要改变目录的位置(例:从/var/spool/mail到/var/spool/messages),你想要改变目录/etc下的每个文件来反映路径变化。执行以下操作:
$ find /etc -type f| xargs perl -pi -e ‘s|/var/spool/mail|/var/spool/messages|g‘

在这个例子上,我们使用搜索和xargs来确保系统只运行常规文件的命令,而不是非常规目录或其它文件类型的命令。这也就运行了/etc目录树,而且会递归的改变所有文件。

由于我们/标识,所以我们必须输入了像/var这样的路径而不是/var。我们也可以在Perl表达式使用分隔符。(除了使用|,你也能够使用/, #,@作为分隔符。)
执行以下操作,从整个文件里移开一个命令
$ perl -pi -e ‘s|myword||g‘ file

这就从基本上没有使用任何东西却代替了“myword”.(需要注意的是在第二个和第三个分隔符之间没有空格)。

以这种方式使用Perl的话,当你修改配置文件或其它任何类型的数据的时候,你就会极具创造力。它就是一个自动搜索和代替的功能。

时间: 2024-10-14 08:18:07

【转载】perl修改原文件内容的相关文章

怎么直接编辑修改PDF文件内容

现在的一些办公文档普遍都是PDF格式,很多文档在传递时也都会转成PDF,但这种格式文件有一个不便之处,就是编辑处理起来没有有Word文档那么流畅顺手.对此,很多初涉职场或是初用PDF文件的人都不怎么会运用这个格式的文档.那么PDF文件该怎么修改内容呢? 不是所有pdf文件都是可以随意修改的,有些pdf扫描文件就不能像普通文档一样修改文字了,因为扫描的形成的文件内容都是图片格式.设置了加密保护的文档在打开时也是需要输入密码后才可以正常编辑. 要用pdf编辑工具打开pdf文件,Adobe Reade

怎样用PDF编辑器修改PDF文件内容

在日常工作和学习中都会使用到PDF文件,PDF文件不像Word文档可以直接修改编辑,PDF文件的编辑和修改是需要使用到PDF编辑工具的,那么,怎样用PDF编辑器修改PDF文件内容呢,是不是有很多的小伙伴想知道怎样操作的呢,那就一起来看看下面的文章了解一下吧. 1.打开运行PDF编辑器,在编辑器中打开需要修改的PDF文件. 2.打开文件后,选择编辑器中菜单栏里的工具,在工具中选择内容编辑,内容编辑中有内容编辑工具以及添加工具,点击内容编辑工具. 3.点击内容编辑工具后,在内容编辑工具中有全部内容,

如何修改PDF文件内容,一种方法省时省力

如何修改PDF文件内容呢?现在我们在使用PDF文件的时候,会遇到PDF文件中内容错误等问题,想要修改PDF文件不知从何下手,想要修改PDF文件就可以使用PDF编辑器来进行操作,下面小编就为大家操作一下修改PDF文件内容的方法. 具体操作步骤如下:1:首先将PDF编辑器安装到自己的电脑中,打开PDF编辑器将PDF文件添加到软件中.2:在软件中可以找到内容编辑工具,点击内容编辑工具,在下面内容的位置双击就可以选中需要更改的文字内容了.3:选中文字内容后,在上面可以找到颜色.字体.大小等设置,将文字设

怎么修改PDF文件内容呢?你知道这种方法吗?

怎么修改PDF文件内容呢?想要修改PDF文件内容就可以使用专业的PDF编辑器来进行操作,但是很多人不知道PDF编辑器怎么修改PDF文件,修改PDF文件内容推荐使用迅捷PDF编辑器来进行操作,下面小编就为大家分享一下迅捷PDF编辑器修改PDF文件的操作方法. 操作软件:迅捷PDF编辑器 操作步骤如下: 1:首先将迅捷PDF编辑器安装到自己的电脑中,打开PDF编辑器,将PDF文件添加到软件中. 2:在软件界面找到内容编辑工具,点击内容编辑工具,在下面内容位置双击,就可以直接修改PDF文件内容了. 3

python修改txt文件内容

①以r模式打开文件并用readlines方法读入列表l中 ②修改相关行,直接用l[n]形式即可 ③关闭文件 ④以w方式打开文件,用writelines方法写入文件(覆盖文件内容) ⑤关闭文件 需要注意换行符的添加'\n'

用PDF编辑器怎样修改PDF文件内容

对不熟悉PDF文件的人来说,打开PDF文件后会发现文档编辑修改不了,而且也没有对应的菜单与工具,那么PDF文件是不能编辑吗?其实这只是用来打开PDF文档的工具不同,通常我们都是用阅读器来打开PDF文件,查看文档的内容.而对文档内容进行修改的时候则是用编辑工具来打开文档的. 打开编辑器后可以看到菜单和工具栏与阅读器不同,在PDF阅读器上是没有这些编辑选项的.点击工具栏上的打开按钮,然后在打开窗口中选择需要编辑PDF文件打开. 文档打开后可以像阅读器那样查看文档,也能给文档做标记,在文档上添加一些注

06_XML的写入_dom4j添加、删除、修改Xml文件内容

[工程截图] [person.xml]准备一个xml文件 <?xml version="1.0" encoding="UTF-8"?> <students> <student id="88888" phone="15888888888" sex="男"> <name>张三</name> <age>18</age> <s

[libxml2]_[XML处理]_[使用libxml2的xpath特性修改xml文件内容]

场景: 1.在软件需要保存一些配置项时,使用数据库的话比较复杂,查看内容也不容易.纯文本文件对utf8字符支持也不好. 2.这时候使用xml是最佳选择,使用跨平台库libxml2. 3.基于xpath的保存方式对保存局部内容非常方便. 4.参考例子xpath2.c 1 #include <stdio.h> 2 #include <assert.h> 3 #include <string> 4 #include <iostream> 5 #include &l

python 修改文件内容

python 修改文件内容 一.修改原文件方式 1 def alter(file,old_str,new_str): 2 """ 3 替换文件中的字符串 4 :param file:文件名 5 :param old_str:就字符串 6 :param new_str:新字符串 7 :return: 8 """ 9 file_data = "" 10 with open(file, "r", encoding