将标题(版权)信息添加到现有的源文件

我想将我们公司的版权信息添加到我们现有的所有源代码文件中。

该项目是在Eclipse开发的。 所以,对于新文件,我可以修改这里build议的设置。 但对于现有的文件,我该如何做到这一点。 如何修改数百个java文件来添加版权信息。 (而且我无法打开上面链接中提到的releng插件。

任何基于Windows的文本操纵脚本语言也将有所帮助。

纠正康斯坦丁的解决方案:

 find . -name \*.java -exec sh -c "mv '{}' tmp && cp copyright '{}' && cat tmp >> '{}' && rm tmp" \; 

问题是&&正在被shell直接解释而不是被传递给查找。 逃避它们也是无法解决的,因为find exec不理解它们。 所以把整个命令给一些shell。

说出你的老板吧。

看摆脱源代码模板 。

请尝试eclipse Releng插件。
这将有助于修复/添加所有.java文件和.properties中的版权声明。
只需右键点击该项目,然后选择“修复版权”。
链接 。

我会安装CygWin(核心+找到),并做一些事情

find . -name *.java -exec mv '{}' tmp && cp copyright '{}' && cat tmp >> '{}' && rm tmp \;

你可以使用Maven许可证插件来做到这一点。

检查这个和这个 。 该插件支持许可证标题的模板,删除许可证并检查所有文件中的许可证。

我认为你可以使用正则表达式使用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 + – 空格

[^(..)] – 表示除外