我想将我们公司的版权信息添加到我们现有的所有源代码文件中。
该项目是在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 + – 空格
[^(..)] – 表示除外