当前位置: 首页 > Linux

linux下批量修改文件内容

时间:2023-04-06 04:19:14 Linux

背景:项目从第三方接收数据,txt文件,每个文件的第一个字段以'--TABLE_INFO:'为前缀,我现在需要把这个前缀删除,首先本来想用java写代码删除,后来发现linux下用sed命令或者perl命令更方便快捷,实际执行命令如下:find-name'*.txt'|xargsperl-pi-e's|--TABLE_INFO:||g'其他方法扩展:方法一:使用sed命令批量替换多个文件中的字符串。sed-i"s/originalstring/newstring/g"greporiginalstring-rldirectory例如:我想把mahuinan换成huinanma,执行命令:sed-i"s/mahuinan/huinanma/g"'grepmahuinan-rl/www'这是目前Linux下最简单的批量替换字符串的命令!具体格式如下:sed-i"s/oldString/newString/g"`grepoldString-rl/path`示例代码:sed-i"s/whatisthesize/sun,moon,water,fire/g"grepwhatisthesize-rl/usr/aa方法二:在开发schedule的过程中,可能会遇到把一个变量名改成另一个变量名的情况。如果变量是局部变量,vi就足够了,但是如果是全局变量,如果在很多文件中使用,此时使用vi是一个不明智的选择。这是一个简单的shell命令,可以一次修改所有文件中的指定字符串:grep"abc"*-R|awk-F:'{print$1}'|排序|独特|xargssed-i's/abc/abcde/g'副标题