Perl 一段非常有用的代码,用来修改文件并备份

news/2024/7/8 4:36:19

需求:

文件系统上有N个文件,他们都是.dat的文本文件,内容形式如下(类似于一个状态卡):

Program name: grantie

Author: Jackie

Company: Symantec

Department: QA

Phone: +86 1234 5678

Date: Tues March 9, 2013

Version: 1.1

Size: 11k

Status: Final beta

需要将上述的信息修改成如下的样子:(修改Author信息 Date改成当前日期 去掉Phone信息)

Program name: grantie

Author: Tom

Company: Symantec

Department: QA

Date: 当前日期

Version: 1.1

Size: 11k

Status: Final beta

 

Code:

use strict;
use warnings;
use utf8;

chomp(my $date = `date`);
$^I = '.bak';

while(<>){
    s/^Author:.*/Author: Tom/;
    s/^Phone:.*\n//;
    s/^Date:.*/Date: $date/;
    print;
}

其中 $^I = '.bak'; 中的 $^I 与<> 结合使用时,会生成一个后缀为.bak(hehe.dat生成hehe.dat.bak),前面与源文件名相同的备份文件,内容也是相同的。

然后对源文件的每一行做正则替换之后写到<>打开的文件句柄中。

 

转载于:https://www.cnblogs.com/ethanchou/p/3897271.html


http://www.niftyadmin.cn/n/2103125.html

相关文章

Java面向对象----继承概念,super关键字

继承概念: 继承需要符合的关系 is-a , 父类通用更抽象,子类更特殊更具体 类之间的关系 继承体现组合体现实现接口体现继承的意义 代码重用 体现不同抽象层次 extends关键字 Super关键字 代表的是父类的对象的引用 package com.tanlei.newer;public class TeachersDemo {publi…

yii的安装

1.安装composer windows系统直接下载Composer-Setup.exe 运行安装。 2.安装Composer asset plugin composer安装完成后&#xff0c;在一个可通过web访问的目录&#xff08;如phpstudy的www目录&#xff09;下&#xff0c;运行以下命令&#xff1a; composer global require &qu…

vector的capacity增长方式

vector的capacity()调用返回vector中最大能够存储的元素个数&#xff0c;也即在下一次需要扩充容量之前能容纳的元素个数。reserve会使容器在必要的时候增长&#xff0c;以便容纳制指定数目的元素。 #include <iostream> #include <vector> using namespace std; i…

前端学习细小知识点记录(日志)

2018/11/7 prompt(string,defaultvalue):类似于警告框alert(),其为提示用户进行输入的对话框&#xff0c;返回string类型。Number()与parseInt()的区别&#xff1a;两者都是进行字符串到数字的转换&#xff0c;但是Number()对于参数中包含非数字时&#xff0c;一律判定为NaN,而…

[雪峰磁针石博客]机器学习工具pytorch中文英文工具书籍下载-持续更新

书籍 深度学习之PyTorch实战计算机视觉 - 2018.pdf 计算机视觉、自然语言处理和语音识别是目前深度学习领域很热门的三大应用方向&#xff0c;本书旨在帮助零基础或基础较为薄弱的读者入门深度学习&#xff0c;达到能够独立使用深度学习知识处理计算机视觉问题的水平。通过阅读…

VMware虚拟机中如何安装VMWare-Tools详解

VMware虚拟机中如何安装VMWare-Tools详解 VMware虚拟机中如何安装VMWare-Tools详解好处&#xff1a;可以支持图形界面&#xff0c;可以支持共享文件功能等VMware虚拟机中如何配置显卡VMware作为一款虚拟机利器&#xff0c;很多人都利用它来实现Linux与Windows的和平共处。相对于…

【其他】composer安装和介绍

windows 系统要求&#xff1a;PHP5.3.2 1、进入cpmposer官网&#xff1a;https://getcomposer.org/download &#xff0c; 往下拉&#xff0c;找Manual Download&#xff0c;下载了最新composer版本。 2、下载完后解压&#xff0c;把composer.phar粘贴到你的php的文件目录下面。…

while小问题

while(!m_SMque.pop(data)); 看到这个有点忘了&#xff0c;如果pop返回false会一直执行pop,其实这个执行的是空语句&#xff0c;而while每次执行都需要判断条件&#xff0c;所以如果pop返回false会一直执行pop函数