`
Eileenlml
  • 浏览: 72565 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

批量修改文件内容

 
阅读更多
方法1:
 
这两天在构建一个应用的使用用到了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 能够帮助实现一些强大的、实时的转换。认真研究正则表达式,并正确地使用,将会为您省去大量的手工编辑工作。
find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content/groups/public|g'
 
方法2:

Linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。
用sed命令可以批量替换多个文件中的 字符串。 
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
例如:我要把mahuinan替换 为huinanma,执行命令: 
sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'
这是目前linux最简单的批量替换字符串命令了!
具体格式如下: 
sed -i "s/oldString/newString/g"  `grep oldString -rl /path`
实例代码:sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa`
sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`

方法3:

在日程的开发过程中,可能大家会遇到将某个变量名修改 为另一个变量名的情况,如果这个变量是一个局部变量的话,vi足以胜任,但是如果是某个全局变量的话,并且在很多文件中进行了使用,这个时候使用vi就是 一个不明智的选择。这里给出一个简单的shell命令,可以一次性将所有文件中的指定字符串进行修改:

grep "abc" * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i 's/abc/abcde/g'

 

 

批量替换 配置文件中的IP:

grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" * -R | awk -F: '{print $1}' |  sort | uniq | xargs sed -i 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/172\.0\.0\.1/g' 


from: http://blog.zol.com.cn/1395/article_1394052.html

补充说明
sed -i "s/oldString/newString/g"  `grep oldString -rl /path`    
对多个文件的处理可能不支持,需要用 xargs, 搞定。
变种如下:
grepoldString -rl /path | xargssed -i "s/oldString/newString/g"

注意: 
在  `grep oldString -rl /path`   中 ` 为1前边的翻引号`,而不是enter 前的 '

分享到:
评论

相关推荐

    批量修改文件内容工具(ultrareplace超级批量文本替换器).rar

    《批量修改文件内容工具——深度解析Ultrareplace超级批量文本替换器》 在日常的IT工作中,我们经常需要处理大量的文本文件,如日志、配置文件等,这时候如果需要对其中的特定内容进行批量替换,手动操作无疑会耗费...

    bat脚本技巧一键批量替换修改文本文件内容,bat脚本知识小技巧小妙招

    今天分享一个一键批量替换文件内容的脚本给大家,我们通过脚本可以一键,批量修改和替换文本内容,只需要在配置文件中,设置好我们想要替换的内容,中间用空格隔开,bat脚本就会自动将我们设置的内容,一键批量替换...

    批量修改文件内容 bat

    可以批量替换文件里内容的小bat。可是不能零积分分享。bat内容,见下面的描述: @echo off for /f "delims=" %%i in ('dir /s/b t\\*.txt') do ( for /f "delims=" %%a in ('type "%%~fi"') do ( set "foo=%%a" ...

    文件内容批量修改的工具(原代码) .rar

    标题中的“文件内容批量修改的工具(原代码) .rar”指的是一个压缩文件,其中包含了一个用于批量修改文件内容的工具的源代码。这通常是一个程序员或开发者为了方便处理大量文件,比如文本文件、配置文件等,而创建的...

    文件内容批量修改

    文件内容批量修改文件内容批量修改文件内容批量修改

    批量替换文件内容

    在IT行业中,批量替换文件内容是一项非常实用的技术,尤其对于处理大量文本文件时,能够显著提高工作效率。批量替换通常涉及到编程语言中的字符串处理、文件读写以及文件遍历等技术。下面将详细介绍这一主题。 首先...

    批量更改文件名和文件内容

    对于批量更改文件名和文件内容,我们可以使用内置的命令如`rename`或`mv`(用于改名)和`sed`(用于修改文件内容)。 首先,让我们看看如何使用`rename`命令批量更改文件名。`rename`命令通常用于批量重命名符合...

    批量修改指定文件部分内容脚本

    bat脚本,方便批量修改指定后缀文件部分内容;比高级语言写着方便

    matlab批量更改txt文件内容

    matlab代码,实现批量更改txt文件中内容,调整内容顺序,增加新内容等

    批量修改txt/reg文件名和属性

    本文将详细讲解如何批量修改TXT和REG文件的名称以及属性,以满足日常管理和维护的需求。 批量修改TXT文件名和属性: 批量修改TXT文件名通常涉及到文件的重命名操作。这可以通过编写批处理脚本或者使用第三方工具来...

    批量更改文件内的文件

    批量更改文件内容通常需要借助编程语言或者特定的工具来实现。例如,使用Python语言,我们可以编写脚本遍历指定目录下的所有文件,然后使用内置的`fileinput`模块或`open()`函数读写文件内容。在Python中,可以使用`...

    批量修改文件编码软件

    2. **正确选择编码**:确认目标编码的正确性,错误的编码转换可能导致文件内容无法正确显示。 3. **处理异常情况**:部分文件可能由于特殊编码或含有非标准字符,导致转换失败。软件应提供相应的错误提示和处理机制...

    批量修改文件属性

    本工具修改文件的创建时间,不但可以批量修改文件的创建时间、修改时间以及访问时间外,还可以批量修改文件扩展名。 程序具备遍历目录功能,在文件选择方面,单击选择文件,按shift或者ctrl键单击可多重选择,双击全眩...

    批量word文件内容替换工具1.0会替换目录下所有的word文件包含子目录.exe

    Word文件内容批量替换官方版是一款专业的文字批量替换工具,很多朋友在工作的时候都需要对Word文档进行编辑处理,如果想要将某个文档中的字符内容修改为其它文字,可以试试小编带来的这款Word文件内容批量替换软件,...

    易语言批量修改文件后缀源码

    在这个"易语言批量修改文件后缀源码"的主题中,我们将深入探讨如何使用易语言来实现批量修改文件后缀的功能。 在计算机操作中,文件后缀名是非常重要的,它决定了系统如何识别和处理文件。例如,.txt是文本文件,....

    Dos下批量替换文件内容

    @echo off setlocal enabledelayedexpansion set file= set /p file= 请输入要操作的文件名称(包括扩展名): set "file=%file:"=%" for %%i in

    批量删除、修改文件内容

    “批量修改文件”说明了程序的主要功能,即处理多个文件。 至于压缩包内的文件`deletenotetag`,这可能是程序的源代码文件或者日志文件,其具体作用可能是在批量处理过程中标记或记录被删除或修改的标签。如果需要...

    ASPNET winform文件批量操作管理工具源码

    1、采用winform 开发,批量删除指定文件和文件夹,批量修改文件名称,批量修改文件夹名称,批量修改文件内容,批量查找并替换文件,指定查找多对多覆盖文件。图片识别文字,word转html 对于大量文件处理,很实用。...

    批量对xml文件指定内容的更改

    1.实现了对文件夹中xml文件的筛选。 2.实现了对xml文件的批量更改。 3.正则表达式匹配具体的内容,修改并保存。

Global site tag (gtag.js) - Google Analytics