zero17

在Linux系统中,文件内容的批量替换同Windows平台相比要麻烦一点。不过这里可以通过Shell命令或脚本的方式实现批量替换的功能。

笔者使用过两个命令:perl和sed ,接下来会对其做出说明。

首先是perl命令,主要用于文件扫描,提取文件信息并打印

perl -pi -e \'s/被替换的字符串/替换后的字符串/g\' <替换内容所在文件>

perl 命令后选项居多,这里只会讲解一些常用的选项

-i  编辑文件,就地修改

-e 让Perl程序在命令行中运行

-r 搜索子目录

-l 输出匹配的文件名,常与find连用

-i.bak  将旧文件替换为bak文件

其次是sed命令的使用

sed -i "s/查找字段/替换字段/g" <文件>   s代表替换指定字符  g表示行内全面替换

常用的选项有:

-i  直接修改

-e 在命令行上进行sed操作,这是默认选项

-f  此选项后加文件名,代表执行-f 后跟的文件中的sed命令

sed命令同时支持字符的新加,例如要在test.txt的第十行新加一行文本为  welcome!,可以这样操作:

sed  \'9a\welcome!\' test.txt    # 这里的9a代表将文本添加到第九行之后,也就是第十行

 

posted on 2021-12-08 20:52  Zero0017  阅读(58)  评论(0编辑  收藏  举报

分类:

技术点:

相关文章:

  • 2021-12-31
  • 2022-12-23
  • 2021-12-31
  • 2021-08-09
  • 2021-09-19
  • 2022-12-23
  • 2021-12-12
猜你喜欢
  • 2022-01-11
  • 2022-01-11
  • 2022-01-07
  • 2022-01-07
相关资源
相似解决方案