更新项目中已更改文件的版权标头

时间:2017-06-26 14:00:47

标签: git copyright-display

我在一个项目中处理版权标题是强制性的。所有文件都有它们,但最近标题的指导方针已更改,因此需要更新。我正在Linux平台上工作(但也可以通过Windows访问文件)。有些文件有新的标题(但需要在年份字段中更新),有些文件有旧标题,有些文件以非常粗糙的方式使用,不符合标准(是的,不幸的是通过审核),有些文件没有&# 39;完全没有(是的,这些也经过了审查)。

因此我有三个要求:

  
      
  1. 将旧标题更改为更新的标题以及更新年份

  2.   
  3. 对于那些有新标题的人,他们的日期(更确切地说是年份)需要更新。

  4.   
  5. 为没有任何

  6. 的人添加标题   

我不想对项目中的所有文件执行此操作,只是为了我的修复而更改的文件。换句话说,只有git status输出中显示的文件。更新日期时可能出现的情况可能是:

  
      
  1. 2011-2014,2016 ==> 2012-2014,2016-2017
  2.   
  3. 2011-2012,2014-2015 ==> 2011-2012,2014-2015,2017
  4.   
  5. 2011-2016 ==> 2012年至2017年
  6.   
  7. 2011-2017 ==>没有变化
  8.   

它也是项目中的.java,.cpp,.c,.h和.xml文件。

我看到this但它似乎只是添加标题。我对sed和awk并不太精通。我经历了this,但它假定所有文件的标准开始和this,但它也涉及一个公共标题。有可能这样做吗?

编辑:我接受了@Hoall'回答并手动完成,因为使用sed这样做现在看起来太麻烦了!

1 个答案:

答案 0 :(得分:1)

在linux下你可以做这样的事情:

for i in `git diff --name-only --cached`; do echo $i; done

用sed,awk或更换echo命令替换文件中的完整标题。

编辑:

对于sed部分,请参阅sed: replace a block of text