perl替换文件中的特定内容

perl替换文件中的特定内容

使用该脚本可以替换指定文件的特定内容;

举例:可以将其他脚本中的文件路径替换为你自己需要的目录

perl 复制代码
#!/bin/perl

use strict;

my $in_file = $ARGV[0]; # 输入文件
my $in1 = $ARGV[1]; # 需要替换的特定字符
my $in2 = $ARGV[2]; # 替换后的字符

if (!defined $in_file) { #检测是否有文件输入
  die "Usage: $0 filename";
}
my $out = $in_file;
$out =~ s/(\.\w+)?$/.out/; #将输出文件重命名为xx.out

unless (open IN, "<$in_file") {
  die "Can't open '$in_file':$!"; #检测是否可以打开输入文件
}

unless (open OUT, ">$out") {
  die "Can't write '$out':$!";
}

while (<IN>) {
  s/\b$in1\b/$in2/gm; #\b为定界符,表示只替换$in单词,包含$in的单词不替换;
  print OUT $_;
}
相关推荐
Frank_refuel2 分钟前
C++11之一场名为“搬家”的 C++ 之旅
开发语言·c++
Wang's Blog1 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
2601_962071571 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
\光辉岁月/2 小时前
5.java-数组
java·开发语言
Java后端的Ai之路2 小时前
Python进阶探索29_eval内置函数
开发语言·python·探索·eval·内置函数
谢亮_vipxieliang3 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
AI情绪识别开源3 小时前
HFpEF 心房-心室耦联效率无创监测方向(AVCEI)
typescript·laravel·perl
时间的拾荒人3 小时前
Qt 多线程详解:从 QThread 到实战
开发语言·qt·面试
郑州光合科技余经理3 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_962071573 小时前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm