MAC批量替换字符串

先看下需求,是将某文件夹及其子文件夹下所有文件中含有aaa的字符串替换成bbb。

参考链接:Shell:sed: RE error: illegal byte sequence_运维_懒懒的小猴子的专栏-CSDN博客

mac下如何使用Sed批量替换文件夹下的字符串 - Vultr - SegmentFault 思否

总结出正确使用姿势,如下:


cd 到 需要替换字符串的文件的文件夹

执行以下命令(作用:将“aaa”替换成“bbb”)

grep -rl 'aaa' ./  | xargs sed -i "" "s/aaa/bbb/g"

如果报sed: RE error: illegal byte sequence的错误

那么执行export LC_COLLATE='C'

以及export LC_CTYPE='C'

再执行grep -rl 'aaa' ./  | xargs sed -i "" "s/aaa/bbb/g"

注意:如果字符串中含有转义字符需要前面加 \

然后坐等结果,4400+个文件,大概1分钟就全部替换完了。

你可能感兴趣的:(MAC批量替换字符串)