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 $_;
}
相关推荐
方璧4 小时前
限流的算法
java·开发语言
Hi_kenyon5 小时前
VUE3套用组件库快速开发(以Element Plus为例)二
开发语言·前端·javascript·vue.js
曲莫终5 小时前
Java VarHandle全面详解:从入门到精通
java·开发语言
ghie90905 小时前
基于MATLAB GUI的伏安法测电阻实现方案
开发语言·matlab·电阻
Gao_xu_sheng5 小时前
Inno Setup(专业安装/更新 EXE)
开发语言
吴声子夜歌6 小时前
Java数据结构与算法——基本数学问题
java·开发语言·windows
wanglei2007087 小时前
生产者消费者
开发语言·python
leo__5207 小时前
基于菲涅耳衍射积分的空心高斯光束传输数值模拟(MATLAB实现)
开发语言·matlab
昵称已被吞噬~‘(*@﹏@*)’~7 小时前
【RL+空战】学习记录03:基于JSBSim构造简易空空导弹模型,并结合python接口调用测试
开发语言·人工智能·python·学习·深度强化学习·jsbsim·空战