以源码方式发布的软件,通常在其每个源文件的开头部分都会有一段版权声明,但是每添加一个文件,就手动将版权声明拷贝过去的做法也确实让人够烦的,尤其当添加的文件较多时,甚至还需要自己去挨个检查是不是有版权声明。作为“懒人”的我们,怎么能够忍受这种重复性的劳动,枯燥的工作就是应该丢给程序去做的,动手写个脚本吧!权衡过perl,python,awk,sed,最终还是选择了bash,也许因为我自己更加熟悉,或者是更能直接地表达意图吧!
File: inscr.sh
#!/bin/bash
#
cr_dir=$(dirname $0)
cr_file="$cr_dir/copyright.txt"
cr_one()
{
local tmp_file="/tmp/cr_one_$$"
local cr_file=$1
local orig_file=$2
local line=$(wc -l $cr_file | cut -d " " -f 1)
head -n $line $orig_file | diff - $cr_file > /dev/null && return
cat $cr_file $orig_file > $tmp_file
mv $tmp_file $orig_file
}
for i in $@; do
cr_one $cr_file $i
done
|
把这个脚本和一个叫作copyright.txt的文件放到一个目录下,然后以要添加声明的文件作为参数,执行之。
至于程序,我想已经简单到可以自解释了,也就不再废话!
阅读(1216) | 评论(0) | 转发(0) |