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 $_;
}
相关推荐
小浣熊熊熊熊熊熊熊丶2 小时前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
啃火龙果的兔子2 小时前
JDK 安装配置
java·开发语言
星哥说事3 小时前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
等....3 小时前
Miniconda使用
开发语言·python
zfj3213 小时前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang
醇氧3 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
Java&Develop3 小时前
Aes加密 GCM java
java·开发语言·python
weixin_462446233 小时前
使用 Go 实现 SSE 流式推送 + 打字机效果(模拟 Coze Chat)
开发语言·后端·golang
JIngJaneIL4 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码4 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web