RSS
当前位置 : 电脑维修 > 电脑维修 > linux 如何批量替换文件内的内容 急

linux 如何批量替换文件内的内容 急

来源:未知 作者:老黑 时间:09-12-09 打印
我需要更改一个目录(home)下的IP地址 ,将其子目录下的所有 12.23.34.45 更换为 45.56.67.78 ,如何解决?
请给出具体 命令 谢谢 可以的话说明个命令的作用 比特网 > 软件与服务 Linux系统下批量替换文件内容
2009-11-15 01:53 出处:51cto 作者:佚名 【网友评论0条 查看】
这两天在构建一个应用的使用用到了maven,由于project很大,足足有700多个pom.xml文件,更郁闷的是在很多pom.xml文件里都单独指定了资源库的url,我需要把这些资源库的url统一指定到nexus本地中央库.
这两天在构建一个应用的使用用到了maven,由于project很大,足足有700多个pom.xml文件,更郁闷的是在很多pom.xml文件里都单独指定了资源库的url,我需要把这些资源库的url统一指定到nexus本地中央库.
手工一个个改文件配置有点不太实际,所以google了一下,找到批量替换文件内容的好方法,命令结构如下:
find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
下面这个例子就是将当前目录及所有子目录下的所有pom.xml文件中的"http://repo1.maven.org/maven2"替换为"http://localhost:8081/nexus/content/groups/public".
find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content/groups/public|g'
这里用到了Perl语言,
perl -pi -e
在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码.
从命令行中使用Perl 能够帮助实现一些强大的、实时的转换.认真研究正则表达式,并正确地使用,将会为您省去大量的手工编辑工作.
共1页. 1
1.Linux系统下批量替换文件内容
相关文章|
已有0位网友分享了这篇文章
本文关键字:Linux,软件
阅读了""的读者还读了
网络设备
网络存储
商用软件   修改XP的boot.ini文件就可以选择&nbsp;&nbsp;80G硬盘这样分: 主分区 C: 6G 装XP用 扩展分区:60G 分成了D\E\F 3个各20G的逻辑分区; 剩余的10G 留做自由空间 安装Linux用。</p>XP顺利完成安装;重启,插入红旗Linux系统盘 开始安装Linux<br>此时:  <br>硬盘分区: <br>/hda1-----------6G. FAT32.........C盘 <br>/hda2-----------60G. 扩展分区<br>/hda5...........20G: FAT32.........D盘<br>/hda6...........20G NTFS.........E盘 <br>/hda7...........20G NTFS........F盘 <br>自由空间10G到Linux提示分区是 选则手动分区,接下来问题出现:<br>按道理需要把自由空间分为三个区来安装Linux (Linux的分区方法是: boot分区 /boot 100M EXT2/EXT3格式,交换分区 默认 1024M(2倍内存大小) SWAP格式,根分区 / 剩余自由空间容量 EXT3格式 );<br>结果只能随意划分出来两个分区,到第三个时总提示: 无法拨发分区<br>经查:原因大概是硬盘最多允许的分区数量为 主分区 4个 扩展分区 4个 逻辑分区个数没要求<br>为了解决这个问题,查的Linux手册 /boot 分区是为了Linux 的规范性而分,所以可有可可与根分区合并</p>所以我的双系统硬盘分法为:< fef ;br>/hda1-----------6G. FAT32.........C盘 <br>/hda2-----------60G. 扩展分区<br>/hda5...........20G: FAT32.........D盘<br>/hda6...........20G NTFS.........E盘 <br>/hda7...........20G NTFS........F盘 <br>/hda3...........1024M SWAP.........SWAP<br>/hda4...........9G EXT3........Linux根分区</p>划分好硬盘以后,继续下一步,会有一个关于Linux引导启动顺序的选项,选择其它新建Windows XP 指向 /hda1 等待时间为5S, 接下来最重要,需选择将Linux的引导文件GRUB安装在MBR(硬盘中看不到的空间,学名叫硬盘主引导记录) 继续下一步 进行一些基本相关设置,等待30分钟完成LINUX的安装;<br>重启;</p>接下来,会出现LINUX的引导画面 和win XP装了Ghost或DOS一样 有那个选项列表,况且有一定的等待时间,5秒后默认进入XP 的引导列表(按理直接进入XP系统,但我安装了DOS工具 所以要进入XP 会有3秒的系统列表选择时间),下次重启 选择进入Linux系统,查看Linux的启动引导文件 menu.lst (属性为unix,在boot/grub/目录下),打开menu.lst ,发现有:#boot=/dev/hda default=1 timeout=5 这个明显是XP系统默认启动,等待时间为5S的表示,那么我修改为:#boot=/dev/hda default=0 timeout=0 它的意思是不是就表示默认启动Linux 系统 无列表等待时间呢,保存(这里暂时timeout=2 至少让我能选择进入XP吧)且另存为lst文件到Linux下的移动媒体驱动器C-即我的XP系统盘,再次进入XP后,网上搜索GRUB的提取包,现在在XP的C盘根目录证多了:menu.lst 、grldr、grub.exe 三个文件;此时修改XP的boot.ini文件 在最后添加:<br>c:\grldr="Linux 操作系统 保存;我的boot.ini文件内容是: <br>Copy code<br>[boot loader]<br>timeout=3<br>default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS<br>[operating systems]<br>multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect<br>c:\grldr="Linux 操作系统<br>c:\Arldr="MS-DOS系统完成后重启进入DOS模式,进入DOS方法很多,现在很多系统盘就自带DOS工具包,能直接进入DOS状态,输入: <br>Copy code<br>FDISK /MBR为什么要这么做呢,因为这样就格式化了MBR,之前说的把Linux的引导装在了MBR 所以在启动机器的时候才会出现两次系统启动列表,一次Linux 另一次XP的;这样格掉了MBR,Liunx的引导界面自然不会出现了,会直接进入到XP的系统启动列表,我的XP列表是这样的:</p>Quote:Microsoft Windows XP Professional<br>Linux 操作系统<br>MS-DOS系统<br>现在是默认进入XP,可以在等待时间内选择需要进入的系统了;需要提示的是:之前另存XP的C盘的menu.lst之所以改这段:#boot=/dev/hda default=0 timeout=0 是在点击上面的Linux 操作系统<br>后能直接进入Linux。</p>最后做XP引导Linux时,需要在XP的C盘下保存的文件已打包,在附加中,其中menu.lst需要用你自己Linux的menu.lst文件替换,因为我们硬盘分区方法可能不一样。</p>  
最新评论共有位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名评论