これを解決しようとして1時間後に破産を宣言します。質問は次のとおりです。
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 の DocBlocks の完全な文字列は次のとおりです。
* @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
「(c) 2013 Magento」を文字列として使用するように sed 式を書き直そうとしていますが、エラーが発生します。
sed: RE error: illegal byte sequence
明らかに、何かをエスケープする必要がありますが、適用可能な例が見つかりません。私は決して bash ウィザードではありません。
式のこの部分の正しい形式は何ですか?
's/(c) 2013 Magento/(c) 2012 Magento/g'