一小時後宣佈破產嘗試解決此問題。這裏的問題:使用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