a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 50|回复: 0

[综合辅导] Linux认证辅导:Linux批量替换文件内容

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
Linux认证辅导:Linux批量替换文件内容2 I$ ]1 }/ N* y, m+ P4 y) ^, C
这两天在构建一个应用的使用用到了maven,由于project很大,足足有700多个pom.xml文件,更郁闷的是在很多pom.xml文件里都单独指定了资源库的url,我需要把这些资源库的url统一指定到nexus本地中央库。4 I! F- A* W! d
手工一个个改文件配置有点不太实际,所以google了一下,找到批量替换文件内容的好方法,命令结构如下:
) k9 p& W4 v/ ^+ ?* Tfind -name ‘要查找的文件名’ | xargs perl -pi -e ‘s|被替换的字符串|替换后的字符串|g’
3 T3 k) |# L/ o# l4 v下面这个例子就是将当前目录及所有子目录下的所有pom.xml文件中的”http://repo1.maven.org/maven2“替换为”http://localhost:8081/nexus/content/groups/public“。: D% z- A8 G# L4 k# ~
find -name ‘pom.xml’ | xargs perl -pi -e ‘s|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content/groups/public|g’
# w7 d1 q# i9 }9 V. a2 o6 w这里用到了Perl语言,
; z  E# |6 g9 S8 J5 F' ?4 y$ c8 M% S+ `perl -pi -e
1 W- a9 A' e. A7 L7 F6 O$ Z在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码。
* z) O' U  X0 B# U% k从命令行中使用Perl 能够帮助实现一些强大的、实时的转换。认真研究正则表达式,并正确地使用,将会为您省去大量的手工编辑工作。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-21 13:15 , Processed in 0.255348 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表