替换目录下符合要求的文件里面的特定字符串

王朝学院·作者佚名  2016-05-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

替换目录下符合要求的文件里面的特定字符串find . -name "aomdv*" -PRint0 | xargs -0 sed -i "s/AOMDV/DPMR/g"

例如上面,就将所有aomdv开头的文件里面所有AOMDV替换为DPMR。

其中-print0和-0是配套使用。原因:

xargs 默认是以空白字符 (空格, TAB, 换行符) 来分割记录的, 因此文件名./file 1.log被解释成了两个记录./file和1.log, 不幸的是 rm 找不到这两个文件.为了解决此类问题,我们让 find 在打印出一个文件名之后接着输出一个 NULL 字符 ('\0') 而不是换行符, 然后再告诉 xargs 也用 NULL 字符来作为记录的分隔符. 这就是 find 的-print0和 xargs 的-0的来历。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航