一小时后宣布破产尝试解决此问题。这里的问题:使用Mac上的sed递归替换空格字符串
我有一个文件夹与15,000文件(Magento)。我想将所有版权日期从2013年更改为2012年,以便我可以在版本之间获得合法的差异。我试图用sed,在此基础上例如:https://stackoverflow.com/a/1583282
此命令工作:
cd path/to/project
find . -type f -print0 | xargs -0 sed -i '' 's/2013/2012/g'
除此之外,我显然不能相信2013只适用于日期。在Magento的文档块完整的字符串是:
* @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
我试图重写sed的表达式中使用“(C)2013 Magento的”的字符串,但我得到的错误:
sed: RE error: illegal byte sequence
显然,有些东西需要转义,但我找不到任何适用的例子。无论如何,我不是一个猛砸巫师。
这段表达式的正确格式是什么?
's/(c) 2013 Magento/(c) 2012 Magento/g'
可能的替代方案:https://gist.github.com/kalenjordan/6766591 –
您的文件是否字面意思是“(c)”或©? –
可能的重复:http://stackoverflow.com/q/11287564/1126841 – chepner