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 $_;
}
相关推荐
weifexie1 小时前
ruby可变参数
开发语言·前端·ruby
王磊鑫1 小时前
重返JAVA之路-初识JAVA
java·开发语言
千野竹之卫1 小时前
3D珠宝渲染用什么软件比较好?渲染100邀请码1a12
开发语言·前端·javascript·3d·3dsmax
liuluyang5302 小时前
C语言C11支持的结构体嵌套的用法
c语言·开发语言·算法·编译·c11
凌叁儿2 小时前
python保留关键字详解
开发语言·python
明飞19873 小时前
C_内存 内存地址概念
c语言·开发语言
代码不停3 小时前
Java中的异常
java·开发语言
兮兮能吃能睡3 小时前
Python中的eval()函数详解
开发语言·python
狄加山6754 小时前
Qt模型-视图架构
开发语言·qt
Aphelios3804 小时前
TaskFlow开发日记 #1 - 原生JS实现智能Todo组件
java·开发语言·前端·javascript·ecmascript·todo