我想将我们公司的版权信息添加到我们所有现有的源代码文件中。
该项目是在Eclipse
. 因此,对于新文件,我可以按照此处的建议修改设置。但是对于现有文件,我应该怎么做。如何修改数百个 java 文件以添加版权信息。(而且我无法打开上面链接中提到的 releng 插件。
任何基于 Windows 的文本操作脚本语言也会有所帮助。
我想将我们公司的版权信息添加到我们所有现有的源代码文件中。
该项目是在Eclipse
. 因此,对于新文件,我可以按照此处的建议修改设置。但是对于现有文件,我应该怎么做。如何修改数百个 java 文件以添加版权信息。(而且我无法打开上面链接中提到的 releng 插件。
任何基于 Windows 的文本操作脚本语言也会有所帮助。
纠正康斯坦丁的解决方案:
find . -name \*.java -exec sh -c "mv '{}' tmp && cp copyright '{}' && cat tmp >> '{}' && rm tmp" \;
问题是 && 是由 shell 直接解释的,而不是传递给 find 的。逃避它们也不是解决方案,因为 find exec 不理解它们。因此,只需将整个命令交给某个 shell。
请尝试 eclipse Relen 插件。
这将有助于在所有 .java 文件和 .properties 中修复/添加版权声明。
只需右键单击该项目并选择“修复版权”。
链接。
我会安装 CygWin (core + find) 并做一些类似的事情
find . -name *.java -exec mv '{}' tmp && cp copyright '{}' && cat tmp >> '{}' && rm tmp \;
我认为您可以使用正则表达式来使用 Eclipse 替换命令。
想象一下你的版权是这样的:
/* jQuery UI CSS Framework
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
*/
然后
1. Go to menu: Search -> File
2. in the Search dialog
2.1. check the "Regular Expression"
2.2. in the Containing text:
\A[^(\Q/*\E\s+jQuery.*)]
2.3 click the Replace
past your copyright
正则表达式的解释:
\A - 文件的开头
\Q...\E - 这是正则表达式关键字(因为 / 和 * 是正则表达式中的键)
\s+ - 空格
[^(..)] - 表示除
您可以使用记事本++。它可以通过“扩展模式”上的“在文件中查找”功能搜索和替换所有文件中的文本。使用\r\n
(或文件的换行符序列)作为搜索输入。