php批量给文件添加头部版权,给代码添加版权信息
版权声明:本文系作者原创。未经许可,不得转载。
以前写的代码没有加上版权信息。后来要全部添加,一个一个添加当然很慢,于是写了一个脚本自动添加。
基本思路:
1、列出目录下所有文件
2、得到后缀名,根据后缀名添加不同格式的信息。
脚本如下:
AddCopyrightInformation/addInfoToAllFile.sh
#!/bin/bash
[ "$1" ] || {
echo "Usage: $0 /dir/path"
exit 1
}
_dir=$1
filelist=`./script/getAllFile.sh $_dir`
for file in $filelist
do
infotype=`./script/judgeInfoType.sh $file`
./script/addToSingleFile.sh $file $infotype
done
AddCopyrightInformation/script/addToSingleFile.sh
#!/bin/sh
filepath=$1
infotype=$2
if [ "$infotype"x = "asterisk"x ]; then
cat ./info/cppinfo.txt $filepath > $filepath.tmp
mv $filepath.tmp $filepath
elif [ "$infotype"x = "octothorpe"x ]; then
cat ./info/shellinfo.txt $filepath > $filepath.tmp
mv $filepath.tmp $filepath
elif [ "$infotype"x = "hyphen"x ]; then
cat ./info/xmlinfo.txt $filepath > $filepath.tmp
mv $filepath.tmp $filepath
fi
AddCopyrightInformation/script/getAllFile.sh
#!/bin/bash
nowdir=$1
find $nowdir -type f
AddCopyrightInformation/script/judgeInfoType.sh
#!/bin/bash
[ "$1" ] || {
echo "Usage: $0 filepath"
exit 1
}
filepath=$1
filename=`basename $filepath`
extensionname=${filename##*.}
if [ "$extensionname"x = "cpp"x ]; then
echo "asterisk"
elif [ "$extensionname"x = "qml"x ]; then
echo "asterisk"
elif [ "$extensionname"x = "spec"x ]; then
echo "octothorpe"
elif [ "$extensionname"x = "h"x ]; then
echo "asterisk"
elif [ "$extensionname"x = "pro"x ]; then
echo "octothorpe"
elif [ "$extensionname"x = "pri"x ]; then
echo "octothorpe"
elif [ "$extensionname"x = "js"x ]; then
echo "asterisk"
fi
AddCopyrightInformation/info/cppinfo.txt
/*
This file is part of cmos-compositor
*
Copyright (C) 2014 Beijing Yuan Xin Technology Co.,Ltd. All rights reserved.
*
Authors:
Peng Huaping
Xie Yan
Li Jing
Liu Jiawei
This software, including documentation, is protected by copyright controlled
by Beijing Yuan Xin Technology Co.,Ltd. All rights are reserved.
*/
AddCopyrightInformation/info/shellinfo.txt
#
# This file is part of cmos-compositor
#
# Copyright (C) 2014 Beijing Yuan Xin Technology Co.,Ltd. All rights reserved.
#
# Authors:
# Peng Huaping
# Xie Yan
# Li Jing
# Liu Jiawei
#
# This software, including documentation, is protected by copyright controlled
# by Beijing Yuan Xin Technology Co.,Ltd. All rights are reserved.
#
AddCopyrightInformation/info/xmlinfo.txt
使用方式如下:
1、将需要添加版权信息的源代码备份。
2、进入到脚本目录,修改info目录下的三个txt文件,将文件中的模块名称和作者名称修改,保存退出。然后,执行脚本:
cd AddCopyrightInformation
./addInfoToAllFile.sh /home/simba/virtualshare/cmos-photos
注:参数为需要添加版权信息的模块的目录,最好是绝对路径.
3、程序执行完成之后,检查确认。
注:新建的文件,可以使用IDE自动添加。
php批量给文件添加头部版权,给代码添加版权信息相关推荐
- 【笔记】python os的使用 文件批量重命名 批量移动文件 将png转jpg代码
对于os的使用总是容易混淆,这里记录一下. print(os.listdir(os.path.join("C:/Users/pic"))) tagg = pandas.read_c ...
- vscode添加头部注释快捷键
在vscode内安装扩展: 在settings.json文件内加入下面的代码:把"XXXX"换成自己喜欢的昵称. {"psi-header.changes-trackin ...
- iOS-UIWebView添加头部和尾部
2019独角兽企业重金招聘Python工程师标准>>> 前言 项目中使用UIWebView显示本地或者是服务器上的页面很容易,但是仅限于显示页面,可控性并不高,如果有需要在头部和尾部 ...
- python批量新建文件夹_python批量创建指定名称的文件夹
本文实例为大家分享了python批量创建指定名称的文件夹具体代码,供大家参考,具体内容如下 继删除多余文件之后,做了一些数据处理,需要重新保存数据,但文件夹的名称又不能改 所以只能创建新的文件夹,换个 ...
- Android 给RecyclerView添加头部和尾部
之前我在GitHub上开源了一个可以实现RecyclerView列表分组的通用Adapter: GroupedRecyclerViewAdapter.也在博客上写了一篇专门介绍它的实现和使用的文章:& ...
- C++批量提取文件夹名
经过查询,在c++中批量提取文件的核心代码如下: ```cpp void getFiles( string path, vector<string>& files ) {//文件句 ...
- python 批量增加文件前缀_linux中批量添加文件前缀的操作方法
linux中批量添加文件前缀的操作方法 需要在文件夹内所有txt文件的文件名前面添加"gt_"; 就是由原来的文件"xxx.txt"变成"gt_xxx ...
- ftp服务器怎么添加文件夹,批量建立文件夹,为Serv_U批量创建用户
批量建立文件夹,为Serv_U批量创建用户 更新时间:2011年04月03日 00:50:27 作者: 最近要用serv u为用户开ftp服务器,而且一个目录对应一个账号,账号很多,一个一个的建立 ...
- 潇洒郎:吐血经验——用python 结合好压软件 实现批量压缩文件或文件夹、并同时添加压缩密码方法———因为zipfile模块或者其他模块无法实现为文件添加压缩密码
python 结合好压软件 实现批量压缩文件或文件夹.并同时添加压缩密码 先说说写本博客的缘由,也是吐血的经验教训: 由于一些原因需要为大量文件资料添加压缩密码,而好压软件只能实现单个文件压缩,不能进 ...
最新文章
- static string java_java:String类、static关键字、Arrays类、 Math类
- Linux下undefined reference to ‘pthread_create’问题解决
- 客户/服务器模型:编程思想
- 霸主–统治和管理API的地方
- 学习echarts需要先学习java 吗_Echarts和Echarts-java类库简单使用方法
- 去除 Css 表单自动填充黄色背景
- DSP之通信之MMC控制器
- 如何使用@PostConstruct初始化敏感词库和hutool过滤敏感词信息
- 扬州晶澳-年产3GW高性能太阳能光伏组件项目 Acrel-3000WEB电能管理系统的设计及应用
- 超级网际搜索(SuperSearch) - 3月30日最新版V5.1.28.94,内置140个搜索引擎
- 在线答题-问卷调查小系统(附源码)
- 计算机共享在哪里找,电脑共享文件在哪里找
- 苹果App卡审原因猜测分析
- 桌面上的计算机图标的功能是什么,桌面上计算机图标不见了的解决方法教程
- 小事认真,大事才会卓越
- 如何用纯CSS将图片填满div,自适应容器大小
- 电镀废水处理工艺 离子交换树脂回收镍 硫酸镍经济效益越来越高 电镀废水如何获利 含重金属废水处理工艺
- 字段类型与合理的选择字段类型
- wingrub 使用说明
- 学校计算机机房应急预案,中心机房应急预案管理制度
热门文章
- 由于无法验证发布者 所以windows阻止此软件
- Android破解过程-滚动的天空
- android8 三星a9,三星GalaxyA9评测 已经远远超出中端手机的水平
- 苹果手机测距离_重量仅6g,智能距离检测,安卓苹果平板手机都能用,声光多级提醒...
- 一些常用的mysql语句实例-以后照写2
- java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES)和错误原因 解决方案:
- Android基础 《密西西比河谷州立大学:Android应用程序开发》(一)
- ANSYS FLUENT二维结构网络数值计算及后处理——流动传热
- proteus中示波器的各刻度的含义
- 对多个Word文件批量添加页码,自由分页。Word精灵V5.0