linux下perl,sed,shell批量替换文件内容

方法1:这两天我一直在使用Maven构建一个应用程序。
项目太大了,pom.xml文件有700多个,更郁闷的是很多文件中都是单独指定资源库的。
pom.xml文件的URL必须统一分配给nexus本地中央库。
手动一一更改文件配置。
由于不太实用,所以我找到了一个批量替换文件内容的好方法。
命令结构如下:string|替换字符String|g'以下示例将所有pom.xml文件添加到当前目录和所有子目录。
'http://www.111cn.net/phper/php.html'替换为'http://www.111cn.net'.find-name'pom.xml'|xargsperl-pi-e's|http:/你能/www.111cn.net/phper/php.html|http://www.111cn.net|这里使用的是g'Perl语言。
Perl-pi-e将-e选项添加到Perl命令中,后跟一行代码。
这将执行以下操作:从命令行使用Perl,您可以将此代码作为Perl脚本运行,以实现强大的实时转换。
如果仔细研究并正确使用正则表达式,可以为您节省大量的手动编辑工作。
find-name'pom.xml'|xargsperl-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"'grepmahuinan-rl/www'这是目前Linux上最简单的批量替换字符串命令。
具体格式为:sed-i"s/oldString/newString/g"`grepoldString-rl/path`代码示例:sed-i"s/Whatsize/日月水火/g"`grepsize-rl/usr/aa`sed-i"s/什么尺寸/日月水火/g"`grepsize-rl/usr/aa`sed-i"s/Whatsize/日月水火/g"`grepsizehow-rl./`方法3:在日程制定过程中如果要改变。
对于变量名,如果该变量是局部变量,则vi就足够了,但如果它是全局变量并且将在许多文件中完成,则使用vi。
时间是一个不明智的选择。
这是一个简单的shell命令,允许您一次更改所有文件中的指定字符串。
grep"abc"*-R|awk-F:'{print$1}'|sort|uniq|xargssed-i's/abc/abcde/g"补充说明:sed-i"s/oldString/newString/g"`grepoldString-rl/path”可能不支持处理多个文件。
您需要使用xargs来解决此问题。
变体是:grepoldString-rl/path|xargssed-i"s/oldString/newString/g"注意:在`grepoldString-rl/path`中,`是1之前的引号,而'之前不是。

Linux下的shell编程如何替换文件中的内容

可以这样做:

方法一:sed-i's/reposito内容/要替换的内容/'文件

file.out;mvfile.outfile。

高级信息:

Shell编程常用技巧:

1自动补全:对于Linux中的命令或路径,你使用可以TAB键进行自动补全。
需要注意的是:

2.以输入字符开头的多个命令或路径。
先点击TAB键是无效的。
再次单击TAB将列出以字符<

3开头的所有命令或路径。

2.+序列号命令对应序列号执行;

3.天赋+在从该角色开始的训练结束时执行。
3.p>3。
4.output:>输出会将命令的执行显示到指定的文档,而不是直接显示在屏幕上;

>将命令的执行带到指定的文档;

4.指定文件;6.